Re: Problem with Flash Header
Quote:
Originally Posted by
welchyboy
I was wondering if there is a simple way to make the flash header change with resolution sizes?
This is my flash banner code. I have the width set to 100% however I have the actually flash file at like 1700 pixles because it will work whenever thre resolution is much higher. The problem is it is hard to make a flash banner because it is such a huge width.
Code:
<div><script type="text/javascript" src="includes/templates/arch_shoppe/jscipt/swfobject.js"></script>
<div id="flashcontent">
<center>
<embed
src="stxbanner.swf"
width=100%
height="110"
allowscriptaccess="always"
allowfullscreen="true"
/>
Here is the code for my image which replaces the flash banner on the other pages
Code:
<html>
<body>
<?php
echo '<img src="images/Stxbanner image header.jpg" width=100% height=100% border="0" />';
?>
</body>
</html>
Please let me know if there is anything I can do to get this working for other resolutions.
You'll have better luck using swfObject 2.0.. Set swfObject to load with any other scripts you have... Place it in your javascapt folder and rename it to jscript_swfobject.js
Now use something like this where ever you want it to work..
Code:
<script type="text/javascript">
swfobject.embedSWF("flash/newsletter.swf", "myContent", "140", "100", "8.0.0");
</script>
<div id="myContent"><img src="images/newsletter.gif" hight="100" width="140"/></div>
This is how my newsletter swf works.. To make the size dynamic, you'll need to use some browser sniffer code.
1fghjkl: In a nutshell, IE reads the Object tag for swf files and FF reads the Embed tag... the above swfObject code works on both types of browsers.
Sawhorse: If your looking for Flash tutorials and such, flashkit.com is good I get allot of ideas from them.
Re: Problem with Flash Header
Thank you Davewest & Sawhorse for responding:) Unfortunately I still can't get it working.
I tried this script and I get a blank flash box in IE and nothing shows up in FireFox-
<script type="text/javascript">
swfobject.embedSWF("fitness_mega_flash.swf", "fitness_mega_flash.swf", "430", "390", "7.0.0");
</script>
<div id="myContent"><img src="images/large/fitness_mega_flash.swf" hight="430" width="390"/></div>
When I Try loading off of swobject.js all I get is "This Text is replaced by Flash movie" in both IE and FireFox. The good news is at least it's doing the same thing in both
<script type="text/javascript" src="includes/templates/template_default/jscript/swfobject.js"></script>
<div id="fitness_mega_flash.swf">
This text is replaced by the Flash movie.
</div>
<script type="text/javascript">
var so = new SWFObject("images/large/fitness_mega_flash.swf", "fitness_mega_flash", "430", "390", "7", "#000000");
so.write("flashcontent");
</script>
Thanks in advance for the help-
Re: Problem with Flash Header
Not sure why JS code would be used over just using the OBJECT tag, but sometimes to help clear up problems you should use a full URL for the ".swf" file. Flash has built-in security and if using a relative link without a 'crossdomain.xml' file, you can run into problems.
Also and to my knowledge, only Safari requires the EMBED tag. Although first invented by Netscape the EMBED tag was never picked up as a Standard. The OBJECT tag was and works just fine for all Browsers but Safari. You can see an example used with the Wimpy Player, which is only using the OBJECT tag. So Safari users beware. :wink:
Re: Problem with Flash Header
Quote:
Originally Posted by
1fghjkl
<script type="text/javascript">
swfobject.embedSWF("fitness_mega_flash.swf", "fitness_mega_flash.swf", "430", "390", "7.0.0");
</script>
<div id="myContent"><img src="images/large/fitness_mega_flash.swf" hight="430" width="390"/></div>
If the above is what you have, then you have to many swf's. It's different depending on version of swfObject, but assuming you're using version 2.0. The code follows (FILE, LOCATION, HIGHT, WIDTH, FLASH VERSION, PARAMS)
Your code should read..
Code:
<script type="text/javascript">
swfobject.embedSWF("fitness_mega_flash.swf", "myContent", "430", "390", "7.0.0");
</script>
<div id="myContent"><p>Anything you want here</p></div>
The alternate content 'Anything you want here' only shows when scripting is turned off. Also I'm assuming your swf is in the root and not in a folder some where.
Re: Problem with Flash Header
I got the code to work this is what I have
Code:
<div id="flashcontent">
<strong>You need to upgrade your Flash Player in order to see the animated menu.
<a href="http://www.adobe.com/go/getflashplayer" target="_blank">www.Adobe.com</a>
</strong>
</div>
<script type="text/javascript">
// <![CDATA[
var so = new SWFObject("example.swf", "example", "100%", "110", "6", "#ffffff");
so.write("flashcontent");
// ]]>
</script>
However it appears that I still have to make the flash very wide did i do something wrong? I added the java file but i am not sure it is referencing it right or something.
This is my java file
Code:
/**
* SWFObject v1.4.4: Flash Player detection and embed -http://blog.deconcept.com/swfobject/
*
* SWFObject is (c) 2006 Geoff Stearns and is released under the MIT License:
* *http://www.opensource.org/licenses/mit-license.php
*
* **SWFObject is the SWF embed script formerly known as FlashObject. The name was changed for
* legal reasons.
*/
if(typeof deconcept=="undefined"){var deconcept=new Object();}
if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}
if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}
deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a,_b){if(!document.getElementById){return;}
this.DETECT_KEY=_b?_b:"detectflash";
this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);
this.params=new Object();
this.variables=new Object();
this.attributes=new Array();
if(_1){this.setAttribute("swf",_1);}
if(id){this.setAttribute("id",id);}
if(w){this.setAttribute("width",w);}
if(h){this.setAttribute("height",h);}
if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}
this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();
if(c){this.addParam("bgcolor",c);}
var q=_8?_8:"high";
this.addParam("quality",q);
this.setAttribute("useExpressInstall",_7);
this.setAttribute("doExpressInstall",false);
var _d=(_9)?_9:window.location;
this.setAttribute("xiRedirectUrl",_d);
this.setAttribute("redirectUrl","");
if(_a){this.setAttribute("redirectUrl",_a);}};
deconcept.SWFObject.prototype={setAttribute:function(_e,_f){
this.attributes[_e]=_f;
},getAttribute:function(_10){
return this.attributes[_10];
},addParam:function(_11,_12){
this.params[_11]=_12;
},getParams:function(){
return this.params;
},addVariable:function(_13,_14){
this.variables[_13]=_14;
},getVariable:function(_15){
return this.variables[_15];
},getVariables:function(){
return this.variables;
},getVariablePairs:function(){
var _16=new Array();
var key;
var _18=this.getVariables();
for(key in _18){_16.push(key+"="+_18[key]);}
return _16;},getSWFHTML:function(){var _19="";
if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){
if(this.getAttribute("doExpressInstall")){
this.addVariable("MMplayerType","PlugIn");}
_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\"";
_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";
var _1a=this.getParams();
for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}
var _1c=this.getVariablePairs().join("&");
if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";
}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");}
_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\">";
_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";
var _1d=this.getParams();
for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}
var _1f=this.getVariablePairs().join("&");
if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}
return _19;
},write:function(_20){
if(this.getAttribute("useExpressInstall")){
var _21=new deconcept.PlayerVersion([6,0,65]);
if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){
this.setAttribute("doExpressInstall",true);
this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));
document.title=document.title.slice(0,47)+" - Flash Player Installation";
this.addVariable("MMdoctitle",document.title);}}
if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){
var n=(typeof _20=="string")?document.getElementById(_20):_20;
n.innerHTML=this.getSWFHTML();return true;
}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}
return false;}};
deconcept.SWFObjectUtil.getPlayerVersion=function(){
var _23=new deconcept.PlayerVersion([0,0,0]);
if(navigator.plugins&&navigator.mimeTypes.length){
var x=navigator.plugins["Shockwave Flash"];
if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}
}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}
catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}
catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}
catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}
return _23;};
deconcept.PlayerVersion=function(_27){
this.major=_27[0]!=null?parseInt(_27[0]):0;
this.minor=_27[1]!=null?parseInt(_27[1]):0;
this.rev=_27[2]!=null?parseInt(_27[2]):0;
};
deconcept.PlayerVersion.prototype.versionIsValid=function(fv){
if(this.major<fv.major){return false;}
if(this.major>fv.major){return true;}
if(this.minor<fv.minor){return false;}
if(this.minor>fv.minor){return true;}
if(this.rev<fv.rev){
return false;
}return true;};
deconcept.util={getRequestParameter:function(_29){
var q=document.location.search||document.location.hash;
if(q){var _2b=q.substring(1).split("&");
for(var i=0;i<_2b.length;i++){
if(_2b[i].substring(0,_2b[i].indexOf("="))==_29){
return _2b[i].substring((_2b[i].indexOf("=")+1));}}}
return "";}};
deconcept.SWFObjectUtil.cleanupSWFs=function(){if(window.opera||!document.all){return;}
var _2d=document.getElementsByTagName("OBJECT");
for(var i=0;i<_2d.length;i++){_2d[i].style.display="none";for(var x in _2d[i]){
if(typeof _2d[i][x]=="function"){_2d[i][x]=function(){};}}}};
deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};
__flash_savedUnloadHandler=function(){};
if(typeof window.onunload=="function"){
var _30=window.onunload;
window.onunload=function(){
deconcept.SWFObjectUtil.cleanupSWFs();_30();};
}else{window.onunload=deconcept.SWFObjectUtil.cleanupSWFs;}};
if(typeof window.onbeforeunload=="function"){
var oldBeforeUnload=window.onbeforeunload;
window.onbeforeunload=function(){
deconcept.SWFObjectUtil.prepUnload();
oldBeforeUnload();};
}else{window.onbeforeunload=deconcept.SWFObjectUtil.prepUnload;}
if(Array.prototype.push==null){
Array.prototype.push=function(_31){
this[this.length]=_31;
return this.length;};}
var getQueryParamValue=deconcept.util.getRequestParameter;
var FlashObject=deconcept.SWFObject;
var SWFObject=deconcept.SWFObject;
Re: Problem with Flash Header
Quote:
Originally Posted by
welchyboy
I got the code to work this is what I have
Code:
<div id="flashcontent">
<strong>You need to upgrade your Flash Player in order to see the animated menu.
<a href="http://www.adobe.com/go/getflashplayer" target="_blank">www.Adobe.com</a>
</strong>
</div>
<script type="text/javascript">
// <![CDATA[
var so = new SWFObject("example.swf", "example", "100%", "110", "6", "#ffffff");
so.write("flashcontent");
// ]]>
</script>
However it appears that I still have to make the flash very wide did i do something wrong? I added the java file but i am not sure it is referencing it right or something.
This is my java file
Should upgrade to 2.0, 1.4 had issues with more then one movie on a page. also had conflicts with other mods. Try it without the %. It needs the size and not a percentage. Flash movies should be able to expand without having to enlarge the file. Why the cdata? I don't think RSS feed readers can do flash!
Re: Problem with Flash Header
Davewest,
Thanks for the flashkit.com site address. It has some nice info. Some is a bit old, but there is a lot of good information. Like many people using ZC, I am not a programmer. We like to dabble, but we need help - all the help we can get. Thanks.
Re: Problem with Flash Header
OK I am not sure exactly what you are saying but I have changed the code up to look like this...
Code:
<div><script type="text/javascript" src="includes/templates/arch_shoppe/jscipt/swfobject.js"></script>
<div id="flashcontent">
<center>
<embed
src="stxbanner.swf"
width=100%
height="110"
allowscriptaccess="always"
allowfullscreen="true"
/>
For some reason I am not able to get it to work with your code. I can change the width to an actual px however if i set it to a certain number and the resolution is much bigger than that it won't stretch to fit that will it?
Re: Problem with Flash Header
Quote:
Originally Posted by
davewest
Should upgrade to 2.0, 1.4 had issues with more then one movie on a page. also had conflicts with other mods. Try it without the %. It needs the size and not a percentage. Flash movies should be able to expand without having to enlarge the file. Why the cdata? I don't think RSS feed readers can do flash!
I just did a very quick read of some of the latest response in this thread. The only small comment I can help with is that one needs to be careful with your code depending on which version of swfObject you use. Code that was meant for the old 1.4 version will not work well using the 2.0 or 2.1 version of swfObject. And definently, code meant for version 2.1 will not work using the old swfObject 1.4. I found that out the hard way. So, the bottom line is one should stipulate the version of the swfObject when providing the code that will implement flash.
Re: Problem with Flash Header
Anyone with any thoughts on how to get this working?