i ran into some IE8 issue and I am not yet familiar with the problem.
The video does not play using I8 and versions below. My target is only IE8. But I don't know how to implement it and am not also familiar in adobe flash.
Question: Can I solve this issue using action scripts? If so, how can I apply the scripts exactly into my codes
The site I'm working with is : http://210.48.94.218/~printabl/about-us/our-culture/
My code is shown below:
<body>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="172" height="250" id="FlashID" title="printableIntro">
<param name="movie" value="printableIntro.swf" />
<param name="quality" value="high" />
<param name="wmode" value="opaque" />
<param name="swfversion" value="6.0.65.0" /><!-- This param tag prompts users with Flash Player 6.0 r65 and higher to download the latest version of Flash Player. Delete it if you don't want users to see the prompt. -->
<param name="autoplay" value="false"/>
<param name="play" value="false"/>
<param name="flashvars" value="autoplay=false" />
<param name="expressinstall" value="Scripts/expressInstall.swf" /><!-- Next object tag is for non-IE browsers. So hide it from IE using IECC. -->
<!--[if !IE]-->
</object>
<object type="application/x-shockwave-flash" data="printableIntro.swf" width="172" height="250">
<!--<![endif]-->
<param name="quality" value="high" />
<param name="wmode" value="transparent" />
<param name="swfversion" value="6.0.65.0" />
<param name="expressinstall" value="Scripts/expressInstall.swf" />
<param name="autoplay" value="false"/>
<param name="play" value="false"/>
<param name="flashvars" value="autoplay=false" />
<!-- The browser displays the following alternative content for users with Flash Player 6.0 and older. -->
<div>
<h4>Content on this page requires a newer version of Adobe Flash Player.</h4>
<p><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></p>
</div>
<!--[if !IE]-->
</object>
<!--<![endif]-->
<script type="text/javascript">
swfobject.registerObject("FlashID");
</script>
</body>
Use SWFObject
https://code.google.com/p/swfobject/
Here is how you use it
<script type="text/javascript" src="swfobject.js"></script>
<div id="flashcontent"> This text is replaced by the Flash movie. </div>
<script type="text/javascript">
var so = new SWFObject("movie.swf", "mymovie", "400", "200", "8", "#336699");
so.write("flashcontent");
</script>
Here is what each parameter means
var so = new SWFObject(swf, id, width, height, version, background-color [, quality, xiRedirectUrl, redirectUrl, detectKey]);
Create a new SWFObject and pass in the required arguments:
swf – The file path and name to your swf file.
id – The ID of your object or embed tag. The embed tag will also have this value set as it’s name attribute for files that take advantage of swliveconnect.
width – The width of your Flash movie.
height – The height of your Flash movie.
version – The required player version for your Flash content. This can be a string in the format of ‘majorVersion.minorVersion.revision’. An example would be: "6.0.65". Or you can just require the major version, such as "6".
background-color – This is the hex value of the background color of your Flash movie.
Optional arguments are:
quality – The quality you wish your Flash movie to play at. If no quality is specified, the default is "high".
xiRedirectUrl – If you would like to redirect users who complete the ExpressInstall upgrade, you can specify an alternate URL here
redirectUrl – If you wish to redirect users who don’t have the correct plug-in version, use this parameter and they will be redirected.
detectKey – This is the url variable name the SWFObject script will look for when bypassing the detection. Default is ‘detectflash’. Example: To bypass the Flash detection and simply write the Flash movie to the page, you could add ?detectflash=false to the url of the document containing the Flash movie.
so.write("flashcontent");
Tell the SWFObject script to write the Flash content to the page (if the correct version of the plug-in is installed on the user’s system) by replacing the content inside the specified HTML element.
Related
I may be missing something but I am trying to embed a weather app I found into my website. I am using this as my HTML code:
<div style="width:800px; height:250px;">
<object type="application/x-shockwave-flash" data="http://swf.yowindow.com/yowidget3.swf&autostart=true" width="800" height="250">
<param name="movie" value="http://swf.yowindow.com/yowidget3.swf&autoStart=true"/>
<param name="allowfullscreen" value="true"/>
<param name="wmode" value="opaque"/>
<param name="bgcolor" value="#FFFFFF"/>
<param name="autoPlay" value="true"/>
<param name="flashvars"
value="location_id=gn:5007804&location_name=Royal%20Oak&time_format=12&unit_system=us&background=#FFFFFF&mini_temperature=true&mini_time=true&mini_locationBar=true&mini_action=full_screen©right_bar=false;&autostart=true;"
/>
</object>
</div>
Notice how I put the param name = "Autoplay" value="true" line as well as trying to put it in the URL. Am I missing something here?
If I just paste the URL http://swf.yowindow.com/yowidget3.swf into a webbrowser, it auto plays no problem so it must be one of the parameters I have entered wrong.
I have looked many times on StackOverflow for a solution and have entered autoPlay="true" in many spots without any luck.
I tested your shown code and it's working fine (Chrome browser on Windows). Maybe you need to clear browser history & clear any cached files?
It only shows a "click to play" icon if the display width is smaller than 600px. Did you ever have such a smaller setting that is being cached & re-used?
Also regarding data="http://swf.yowindow.com/yowidget3.swf&autostart=true" the &autostart=true is not needed. Please remove it & test again (resave as different filename.html if needed).
I made the huge mistake of getting a template instead of just doing the development my self. Now I've narrowed down the issue- first, I thought it was an issue with the actual flash file. Now I'm realizing it's every time I change the images in the HTML editor which just makes no logical sense to me. This is the code for the flash file:
<body id="page1" onload="new ElementMaxHeight()">
<div id="main">
<!-- header -->
<div id="header">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="download.macromedia.com/pub/shockwave/cabs/flash/…; width="940" height="417"></object><!----> <![endif]-->
</div>
<!-- content -->
<div id="content">
Again, it works great on IE, but nothing else, which is a twist I haven't seen online.
Appreciate any feedback you can offer.
Im sure this answer is here already but i will post a generic code i always use.
Just place the whole block and change related values, swf properties.
<object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="950" height="377">
<param name="movie" value="myMovie.swf">
<param name="quality" value="high">
<param name="wmode" value="direct" >
<param name="swfversion" value="6.0.65.0">
<!-- This param tag prompts users with Flash Player 6.0 r65 and higher to download the latest version of Flash Player. Delete it if you don’t want users to see the prompt. -->
<param name="expressinstall" value="Scripts/expressInstall.swf">
<param name="SCALE" value="noborder">
<!-- Next object tag is for non-IE browsers. So hide it from IE using IECC. -->
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="myMovie.swf" width="950" height="377">
<!--<![endif]-->
<param name="quality" value="high">
<param name="wmode" value="direct" >
<param name="swfversion" value="6.0.65.0">
<param name="expressinstall" value="Scripts/expressInstall.swf">
<param name="SCALE" value="noborder">
<!-- The browser displays the following alternative content for users with Flash Player 6.0 and older. -->
<div>
<h4>Content on this page requires a newer version of Adobe Flash Player.</h4>
<p><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></p>
</div>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
I noticed that my website's behavior has changed lately in Chrome. It comes from the piece of code shown here. With that code the page works fine and all seems to be ok (the flash banner is ok too). BUT as soon as I scroll the page, I notice that the background is white (all that was not shown when the page originally loaded). It's like if the background is not loaded out of the original shown page sight. If I remove the piece of code emphasized, the banner doesn't load the animation, but the background loads properly.
What prevents me page's backgroung from loading properly? Note that this is the only flash code/object on my whole website.
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="994" height="250"
id="art-flash-object">
<param name="movie" value="images/container.swf" />
<param name="quality" value="high" />
<param name="scale" value="default" />
<param name="wmode" value="transparent" />
<param name="flashvars" value="color1=0xFFFFFF&alpha1=.50&framerate1=24&loop=true&wmode=transparent&clip=../../Content/images/flash.swf&radius=5&clipx=-3&clipy=0&initalclipw=1000&initalcliph=250&clipw=1000&cliph=250&width=994&height=250&textblock_width=0&textblock_align=no&hasTopCorners=true&hasBottomCorners=true" />
<param name="swfliveconnect" value="true" />
Shockwave code here causes the bug
<object type="application/x-shockwave-flash" data="../../Content/Images/container.swf"
width="994" height="250">
<param name="quality" value="high" />
<param name="scale" value="default" />
<param name="wmode" value="transparent" />
<param name="flashvars" value="color1=0xFFFFFF&alpha1=.50&framerate1=24&loop=true&wmode=transparent&clip=../../Content/images/flash.swf&radius=5&clipx=-3&clipy=0&initalclipw=1000&initalcliph=250&clipw=1000&cliph=250&width=994&height=250&textblock_width=0&textblock_align=no&hasTopCorners=true&hasBottomCorners=true" />
<param name="swfliveconnect" value="true" />
<div class="art-flash-alt">
<a href="http://www.adobe.com/go/getflashplayer">
<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif"
alt="Get Adobe Flash player" />
</a>
</div>
</object>
End of buggy code
</object>
I don't know if it's the cause of the problem, but in the first piece of code there's no </object> closing tag present.
Also, I have experienced some flash loading issues with relative paths (like you did with value="images/container.swf" /> and data="../../Content/Images/container.swf"). Never knew what exactly was the issue there, but try loading the flash file from the same folder as where your .html file is located.
I myself sometimes use the html code generated by Flash (under Publish..) because sometimes that seems to be the only working code in order to show the Flash correctly.
P.s. I don't understand exactly what's the deal with the two <object> tags and their contents, did you use both at the same time, separately, or...?
I use the below code within for my JQuery lightbox without include js file AC_RunActiveContent.js or swfobject-1.5.js in the html file. It works fine for IE and Firefox. Just wanna know if there is any problem for not include AC_RunActiveContent.js or swfobject-1.5.js. Is it a must to have AC_RunActiveContent.js or swfobject-1.5.js for display a flash properly in different browsers version?
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="789" height="617" id="Loader" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="false" />
<param name="movie" value="en_MAIN.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="en_MAIN.swf" quality="high" bgcolor="#ffffff" width="789" height="617" name="Loader" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
No, that's the Adobe-style standard markup. It works across all current browsers.
It's ugly, doesn't validate and has to state each parameter twice, which is what the Flash embedding scripts you mention are attempting to address (plus sometimes also there's an IE ‘object activation’ workaround that is no longer necessary). If you don't care about that, you're fine as you are. If you do, this question has some discussion on alternatives.
I don't think your code is connected to Lightbox: AC_RunActiveContent.js and swfobject-1.5.js are javascript workarounds for getting Flash to work in IE. Since Lightbox uses JQuery, not Flash, you shouldn't need them.
Look closely at the lightbox instructions for more information.
I have flash like a background on my page and all content on page is in the html tags witch is over that flash, and that works very nice. A cover div for that flash have a fixed position (position:fixed;) in style, that is important for scrolling feature.
My problem is in following when I try to include additional page, in iframe on the center of current page, and that new page containing some flash object, that object is not not visible in iframe, its here but its above the fixed flash object, if I remove (position:fixed;) from style, it is visible, but my scrolling feature not work as before. What css style could solve the problem?
Have you tried adding
<param name="wmode" value="opaque">
to the <object> tag of the flash element you can't see? That may help.
If you are writing HTML 5 scrolling is not supported for Iframe
as stated before use object the object tag, and set paramaters.
<object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="1000" height="600"><param name="movie" value="mainswf/f_cbt.swf" />
<param name="quality" value="high" />
<param name="wmode" value="opaque" />
<param name="swfversion" value="11.0.0.0" />
<!-- This param tag prompts users with Flash Player 6.0 r65 and higher to download the latest version of Flash Player. Delete it if you don’t want users to see the prompt. -->
<param name="expressinstall" value="Scripts/expressInstall.swf" />