andbicscadmedia / swfobject Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/swfobject
Automatically exported from code.google.com/p/swfobject
Currently SWFObject uses a variant of the following solution:
http://dean.edwards.name/weblog/2006/06/again/
In my opinion this is currently the best solution available.
When dealing with Internet Explorer there are 2 issues you need to avoid at
all cost:
1. The Operation Aborted error, which basically indicates that you try to
access Internet Explorer’s DOM, while it is locked and it is not ready for
DOM manipulations yet
2. Multiple libraries that use similar solutions to simulate a
DOMContentLoaded event and hereby hinder each other's execution.
Regarding the second point we still need to make an inventory with which
libraries SWFObject currently doesn't work well with. We already received
the following feedback:
===
http://www.swffix.org/devblog/?p=12#comment-1370
# PeriCHR Says:
October 1st, 2007 at 2:32 am
Method 2 works well under fx3 & opera9 in my test page,but something
strange comes out under the IE7 browser.
The flash item displays only at the first time I load the page,and will
never appears after reload.
Reading the dom tree,no replacing takes place.
May I get some suggestion?
The test page hare:
http://www.perichr.cn/?t
===
Furthermore there was the following discussion:
http://www.swffix.org/devblog/?p=14#comment-1378
Mark Wubben Says:
October 1st, 2007 at 4:25 pm
The technique of embedding a script tag to do DOMContentLoaded in IE is
broken (in fact, SWFObject 1.5 breaks it in some cases). There’s been some
recent developments in this field, which I still have to test before adding
it to sIFR. I’ll let you know what happens.
===
I sent Mark an email, in which he gave the following clarification:
He did some tests for sIFR and found that by also including a library like
SWFObject 1.5 (inserted at the end of the body) caused the method to fire
'to early' or fire while IE's DOM was still locked.
Please note that with SWFObject we have added a try-catch block to avoid
these circumstances.
===
There was also a discussion about a potential new method:
# Geoff Says:
October 1st, 2007 at 11:38 pm
Cool, thanks Mark. I’ve heard that John Resig has a good one for jquery
that will be out soonish.
# Mark Wubben Says:
October 2nd, 2007 at 6:33 am
Yea I worked a bit on this with John during the Ajax Experience. Not sure
what he’s upto now, I think I read something about inserting DOM nodes into
the body, which gives errors until it’s ready or something.
-> Which refers to:
http://groups.google.com/group/jquery-dev/msg/4b4b41abc051c398
in
http://groups.google.com/group/jquery-dev/browse_thread/thread/d4e0edfa7764aecc/
4b4b41abc051c398
and
http://groups.google.com/group/jquery-dev/browse_thread/thread/517dd87b61515162
However, there is already some criticism about this potential new technique
(at the bottom of these threads), and I personally question the
re-introduction of a timer based polling mechanism for IE.
My personal experience with polling mechanisms (UFO uses it) is that some
libraries that also use a polling mechanism again may hinder the proper
execution of the event.
So the big question remains: how can we simulate the DOMContentLoaded event
for Internet Explorer, while encapsulating its functionality so it can't
hinder or can't be hindered by other libraries that try to achieve the same
thing?
Original issue reported on code.google.com by bobbyvandersluis
on 4 Oct 2007 at 10:21
1. Code enhancement
> if (!fp6Crash && typeof a == "object") { // When ActiveX is disbled
> in IE, then "typeof a" returns "object", however it is "null" in
> reality, so something like "typeof a.GetVariable" will crash the
> script
typeof(null) is always object, so you can simply do:
if (!fp6Crash && a)
2. Code enhancement
> if (typeof attObj[i] == "string") { // Filter out prototype
> additions from other potential libraries, like
> Object.prototype.toJSONString = function() {}
A better way to check for this is:
if (Object.prototype[i] == attObj[i]) continue;
Because: who is to say nobody defines Object.prototype.foo = "bar"?
3. Code enhancement
Make the embedSWF method more fool-proof by accepting numbers for width and
height
4. Bug fix (needs examination first)
Issue with IE and dynamic publishing: XMLSocket server connections and FMS
server connections are not properly closed when unloading a web page.
Possible cause is the use of innerHTML/outerHTML, possible solution is to
physically remove the object element from the page when unloading it.
Original issue reported on code.google.com by bobbyvandersluis
on 2 Jan 2008 at 5:44
1. Add the "sameDomain" value to the "allowScriptAccess" parameter. For
more info, see Adobe technote [ http://www.adobe.com/go/kb402975 ]
Original issue reported on code.google.com by bobbyvandersluis
on 21 Feb 2008 at 10:02
What steps will reproduce the problem?
1. start expressInstall
2. Cancel expressInstall
3.
What is the expected output? What do you see instead?
expressInstall.swf tries to call SWFFix.expressInstallCallback() which is
obsolete. File:expressInstall.as Line:75
Has to be changed to
getURL("javascript:swfobject.expressInstallCallback();");
What version of the product are you using? On what operating system?
2.0 beta 5
Please provide any additional information below.
nothing else - thanks for your good work!
Original issue reported on code.google.com by [email protected]
on 30 Oct 2007 at 10:52
This item is copied over from the SWFFix issue list [
http://code.google.com/p/swffix/issues/detail?id=5 ]:
What steps will reproduce the problem?
1. Open Opera 9 on Mac
2. Go to http://www.swffix.org/documentation/test_dynamic_com.html
3. Type text in the "To JS" field of the flash content
What is the expected output? What do you see instead?
You should see the text in the ExternalInterface section, none appears.
What version of the product are you using? On what operating system?
SWFFix alpha 3, MacOS X, Opera 9.23
Please provide any additional information below.
====
This bug is not SWFObject related
This bug is reproduceable on Opera 9.23/MacOSX
On Opera 9.23/MacOSX the external interface is broken for the HTML embed
element and
the HTML object element, as can be tested with the "embed, browser
communication" and
"object, browser communication" test pages from the Flash embed test suite:
http://www.swffix.org/testsuite/
This bug didn't occur with Opera 9.00/MacOSX
No JavaScript errors appear in the Opera browser Error console
Actions: forward issue to both Adobe and Opera
Original issue reported on code.google.com by bobbyvandersluis
on 4 Oct 2007 at 9:39
What steps will reproduce the problem?
1. Code at: http://www.kroix.com/swfO/space.html Displays correctly in IE6
& 7, Firefox has a break between the two divs
2.
3.
What is the expected output? What do you see instead?
The IE output is correct the divs should be touching each other, no break.
What version of the product are you using? On what operating system?
SWFObject v2.0 rc4
Windows XP sp2
IE6,7 FF2
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 4 Mar 2008 at 10:11
If my original swf content is percentage based on width and height, the
expressInstall.swf does not resize to that percentage. Thanks.
Original issue reported on code.google.com by [email protected]
on 2 Jan 2008 at 9:13
What steps will reproduce the problem?
1. Setup a html test page with a couple of DIV's and give them the id's
"sampleA" & "sampleB".
2. using the swfobject dynamic method:
<script type="text/javascript">
swfobject.embedSWF("sample.swf", "sampleA", "250px", "250px", "9.0.0" ,
"expressInstall.swf", { testVar:"HelloA"}, {}, {} );
swfobject.embedSWF("sample.swf", "sampleB", "250px", "250px", "9.0.0" ,
"expressInstall.swf", { testVar:"HelloB"}, {}, {} );
</script>
3. Preview the page, and open it with your debugger of choice( I am using
Firebug for FireFox)
What is the expected output? What do you see instead?
You will see the swf's as they should be. but the when swfobject writes to
the div it doesn't clear it's flash vars.
What version of the product are you using? On what operating system?
currently I've test it with SWFObject v2.0 beta6 and SWFFix 0.3.
Please provide any additional information below.
If it's not by design to execute it in this fashion and is in the
documentation please forgive this issue.
Original issue reported on code.google.com by [email protected]
on 21 Nov 2007 at 6:19
What steps will reproduce the problem?
1. Publish an AS3 .swf that has at least one call to
ExternalInterface.addCallback(...) in it (which creates an external
function API for the .swf to be called from Javascript).
2. Use the standard "index_dynamic.html" example code provided in the
swfobject 2.0rc1 download.
3. Load the web page in a browser.
What is the expected output? What do you see instead?
I expected to see my flash file displayed, and no JS errors to occur.
The alternative content is removed, and my flash file is displayed as
expected, but then the following JS error is thrown:
Line: 48
Char: 3
Error: Object Required
Code: 0
What version of the product are you using? On what operating system?
I am using swfobject 2.0rc1, Flash 9.0.115.0 player installed, and IE7
(Win XP SP2).
Please provide any additional information below.
If I remove any calls to ExternalInterface.addCallback(...) from the .swf,
then no JS error is caused.
Also, I notice that the error occurs even if embedSWF is called AFTER the
page loads (like in response to a button click), as opposed to inline in
the HEAD section as the example shows.
And, (this part may not be a bug!) the newly created flash object (which
replaces the alternative content with the specified id) is NOT given the
same id as what it replaced, so it's not available to the document.all[]
accessor. for instance, after the swf is embedded, a call to document.all
["myContent"] comes back as undefined.
Original issue reported on code.google.com by [email protected]
on 29 Dec 2007 at 8:53
What steps will reproduce the problem?
1. Follow the examples in the docs to embed Flash content.
2. Set the height and width values to 100%
What is the expected output?
Expect to see the Flash content filling 100% of the browser.
What do you see instead?
No Flash content displayed.
What version of the product are you using? On what operating system?
Mac OS X 10.4.10, Firefox 2.0.0.7
Windows XP, Firefox 2.0.0.7
Please provide any additional information below.
For full browser mode to work in Firefox, it appears you need these css
styles set:
<style media="screen" type="text/css">
html, body, #content { height:100%; }
body { margin:0; padding:0; overflow:hidden; }
</style>
This should be added to the docs.
Original issue reported on code.google.com by [email protected]
on 11 Oct 2007 at 7:51
What steps will reproduce the problem?
1. I put all my variables etc in, as your example
2. Tried in latest Firefox
3. Tried in latest IE7
What is the expected output? What do you see instead?
All I'm getting is a white page.
What version of the product are you using? On what operating system?
beta 6 on WinXP / latest IE7 / latest Firefox
Please provide any additional information below.
Here is the exact code:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript" src="swfobject.js"></script>
</head>
<body>
<script type="text/javascript">
var flashvars = {
height: "270",
width: "360",
xheight: "280",
xwidth: "370",
mysearch: "Search&uri=yourminis%2Fyourminis%2Fmini%3Aveoh&swfurl=%
2Fwidget%5Fveoh%2Eswf&",
};
var params = {
allowScriptAccess: "always",
wmode: "transparent"
};
var attributes = {
id: "myDynamicContent",
name: "myDynamicContent"
};
swfobject.embedSWF("http://www.yourminis.com/Dir/GetContainer.api?
uri=yourminis/yourminis/mini:veoh", "veoh", "370", "280", "6.0.0", "",
flashvars, params, attributes);
</script>
</body>
</html>
Original issue reported on code.google.com by [email protected]
on 7 Nov 2007 at 12:54
What steps will reproduce the problem?
1. Using Option 1
2. Define the same name for flash object
What is the expected output? What do you see instead?
Whe i call the name of the object from javascript window.menu or
window.document.menu, if it the same, it work only in IE (the first object
defined).
What version of the product are you using? On what operating system?
Last Beta
Please provide any additional information below.
I can't find a workaround, other than using different names
Original issue reported on code.google.com by [email protected]
on 5 Oct 2007 at 4:00
Copied over from: http://www.swffix.org/devblog/?p=27#comment-2112
I’m not sure if this is the place to post this, but I’ve found a bug in
v2.0 rc4. I get an “object required” method on unload in IE when I have run
code that uses SWFObject to load a movie (dynamic publishing) and then my
code deletes the movie. The error gets thrown by the function created in
fixObjectLeaks. If the element referred to by “id” no longer exists
“obj”
is null after line 258:
var obj = getElementById(id);
and then you get the error in line 264:
obj.parentNode.removeChild(obj);
Steps to reproduce:
1) Call swfobject.embedSWF to add a flash movie to a page in IE.
2) Run some javascript that removes the movie:
var e = document.getElementById(movieId);
e.parentNode.removeChild(e);
3) Navigate away from the page.
Possible fix:
Check that obj is not null after line 258:
var obj = getElementById(id);
if (obj) { // New Code
for (var i in obj) {
if (typeof obj[i] == “function”) {
obj[i] = function() {};
}
}
obj.parentNode.removeChild(obj);
} // New Code
Original issue reported on code.google.com by bobbyvandersluis
on 12 Mar 2008 at 5:21
I am inserting my flash file with dynamic publishing method. Unfortunally,
the preloader included in flash movie isn't working and the movie isn't
playing until whole file has been loaded.
What steps will reproduce the problem?
1. Loading a file with preloader using dynamic publishing method.
What is the expected output? What do you see instead?
Before whole flash file is loaded i see blank div field prepared for flash
content. No alternate content (usually picture) is visible. Flash movie is
shown on screen only after some loading time.
What version of the product are you using? On what operating system?
v2.0 beta6, win xp, ie, ff
Original issue reported on code.google.com by [email protected]
on 13 Nov 2007 at 6:31
Check out Doug Sharp's comments at
http://olddougnewtricks.blogspot.com/2007/10/dryerfox-moxie-beta-2-upgrade-compl
eted.html
I'm reporting a bug that was reported on my blog. I don't have access to a
Vista system, so I can't confirm. I think that Doug Sharp is saying that
the alternate content (in this case a <div> section saying "Whoa. You need
to get Flash Player") is always displayed on IE7 on Vista.
I don't know what his IE7 security/browser settings are.
My blog page is using "method 2" of SWFObject.
What version of the product are you using? On what operating system?
SWFObject 2.0 Beta 3 + IE7 + Vista.
IE7 on WinXP works fine.
Firefox on XP + Vista works fine.
Original issue reported on code.google.com by [email protected]
on 10 Oct 2007 at 6:18
On IE7 Vista 32bit I am seeing alternative content instead of my flash
content. This only happens on IE7 Vista, I have no problems in any other
browser on any other OS, including IE7 on XP. The flash content is
displayed fine with the standard Adobe flash embed scripts and when I
click on "bypass detection", but using SWFObject (1.5 - 2.0 beta6) I see
my alternative content. The Adobe Flash install webpage says I need to
install flash every time I go back to it, no matter how many times I
install, so the install process has been corrupted somewhere along the way
for IE. However, Flash is installed regardless and it is playing flash
content that is embedded using the standard Adobe methods. The problem
here is that most non-developers will think they have flash installed
correctly because most sites that dont use SWFObject will show that flash
is installed fine...
There is a discussion regarding this problem active here:
http://www.flashcomguru.com/index.cfm/2007/6/21/swfobject-problem-ie7
What steps will reproduce the problem?
1. Unknown, some people have this problems others dont. I'm using a stock
install of Vista Ultimate 32bit. No modifications, all windows updates
applied. Flash was originally installed via the Adobe Flash install web
site and has not been touched.
What is the expected output? What do you see instead?
Expected output is the flash file, I see the alternative content.
What version of the product are you using? On what operating system?
Flash Player 9,0,47,0
SWFObject 1.5 - Beta6 (all versions fail)
IE 7.6000.16546
Please provide any additional information below.
That is all.
Original issue reported on code.google.com by [email protected]
on 2 Nov 2007 at 4:26
What steps will reproduce the problem?
1. Loading the test page for dynamic embed in IE 5.5/Win 2000.
2.
3.
What is the expected output? What do you see instead?
Alternative content is being displayed instead of flash content even if
the correct version of the Flash plugin is installed. Static embed method
does work as expected.
What version of the product are you using? On what operating system?
IE 5.5, Windows 2000 SP2
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 27 Dec 2007 at 12:08
What steps will reproduce the problem?
Previously I was using SWFObject 1.5, and using it to open an .swf file in
a modal window. After upgrading to v2.0rc4, The swfobject call and
parameters were restructured like so:
var flashVars = {
headerPageNoText : '{{p}}/{{n}}',
headerStringText : 'Printer v0.1',
footerPageNoText : '{{p}}/{{n}}',
footerStringText : 'Printer v0.1'
};
var params = {
bgcolor : '#ffffff',
quality : 'high',
scale : 'noscale',
salign : 'lt',
wmode : 'opaque',
swliveconnect : 'true',
allowscriptaccess : 'always'
};
var attributes = {
name : 'print'
};
TiddlyLightBox.initBox('html', 'lightBoxContent', 400, 575, '');
swfobject.embedSWF('flash/print.swf', 'lightBoxContent', '400', '575',
'9.0.0', null, flashVars, params, attributes);
everything worked fine on Firefox, but Safari (on Windows) crashes if this
modal is opened.
What is the expected output? What do you see instead?
I expect to see the same output as when I was using swfobject v1.5, swf
file opened in a modal window.
What version of the product are you using? On what operating system?
Version 4.0rc4. Windows XP SP2. Windows Safari 3.0.3 (522.15.5)
Please provide any additional information below.
When can you integrate a fix for this? Do I need to downgrade to v1.5?
Original issue reported on code.google.com by [email protected]
on 13 Mar 2008 at 7:12
What steps will reproduce the problem?
1. when a webpage is loading google adsense banners. (and waiting very
long)
2. when a webpage is still loading (/waiting) at something
3.
What is the expected output? What do you see instead?
I want to see the swfobject loading his content without waiting on the
onload.
What version of the product are you using? On what operating system?
SWFObject 2.0
Vista IE7
Vista Firefox
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 27 Jan 2008 at 3:26
What steps will reproduce the problem?
1. applying a 'class' attribute
What is the expected output? What do you see instead?
Expect to see the flash, but is broken and alternative content displayed
instead.
What version of the product are you using? On what operating system?
Problem occurs on Safari 2.0.4, untested on newer versions of Safari.
MacOSX 10.4
Please provide any additional information below.
Throws a parse error - possibly the 'class' attribute in an object is a
reserved word in Safari?
Original issue reported on code.google.com by [email protected]
on 11 Oct 2007 at 11:59
Hey,
If the three of you don't want to bother with my issue, that's cool. But
at least respond. Start a forum or something, common....
[email protected]
Original issue reported on code.google.com by [email protected]
on 19 Feb 2008 at 4:27
Using IE6/WinXP-SP2
I am using createSWF to dynamically insert an SWF after the DOM was already
loaded using the sample code from the API docs. The SWF was created and
inserted in place of the correct element, but was not assigned the ID of
that element or any ID at all.
This immediately caused a problem for me when using FABridge because it
uses ExternalInterface to register callbacks and requires an ID'd DOM
element.
Testing the same code in FireFox 2.0.0.9 didn't show any errors in the
console or Firebug, so this may be limited to the IE6 code path.
I worked around the problem by adding id:"myObject" to the attributes array
passed into createSWF.
This may not be a bug and my workaround may not generate valid HTML, but I
suggest that this is documented in the API docs for createSWF, or fixed in
code if it's a legitimate bug.
Original issue reported on code.google.com by [email protected]
on 8 Nov 2007 at 8:41
What steps will reproduce the problem?
if the swf source is fetched through a wrapper script to prevent local
caching (e.g. getfile.php?src=mymovie.swf&time=12345) in Firefox only
the first param (before &) ist used.
What is the expected output? What do you see instead?
expected: correct swf should be played
instead: in worst case movie is not loaded
What version of the product are you using? On what operating system?
Firefox 2.0.0.7/WinXP SP2
Please provide any additional information below.
swfobject 1.5 does not feil in FF.
Original issue reported on code.google.com by [email protected]
on 16 Oct 2007 at 4:26
What steps will reproduce the problem?
1. Disable ActiveX in security options
2.
3.
What is the expected output? What do you see instead?
I think that it should display nothing, but appears an JavaScript error:
Line: 6
Char: 1411
Error: 'null' is null or not an object
What version of the product are you using? On what operating system?
SWFObject v2.0 beta2
Windows XP Professional SP2 with IE 6
Windows XP Home SP2 with IE 7
Please provide any additional information below.
I have solved this error but I don't sure if it's the right way.
On character 1369 it's this code:
catch(err){}
And I replace it with this:
catch(err){_d=true;}
With that, in the line "if(!_d&&typeof a=="object")" _d it's true and then
don't try to execute "d=a.GetVariable("$version");", which is the line
with the problem.
Original issue reported on code.google.com by [email protected]
on 8 Oct 2007 at 2:19
What steps will reproduce the problem?
1. use embedSWF to replace HTML.
2.
3.
What is the expected output? What do you see instead?
Using an override JavaScript for screen readers to not embed the Flash and
display the HTML that it would normally replace.
What version of the product are you using? On what operating system?
rc1
Please provide any additional information below.
Would like an if statement or similar to embed Flash only if visitor is not
using a screen reader otherwise I wish for the visitor with the screen
reader to see the HTML I'd normally be replacing. I cannot always expect
Flash developers to know enough about making the Flash accessible therefore
I want to be able to override the Flash embed for screen readers so they
will see the most accessible version of the page.
Original issue reported on code.google.com by [email protected]
on 16 Jan 2008 at 8:41
What steps will reproduce the problem?
1. use swfobject (option 1)
2. for width and height on both object tags, type in "100%"
What is the expected output? What do you see instead?
I expected to see the flash stretching 100% on firefox. "100%" width and
height work fine on IE6, but firefox doesn't display it.
What version of the product are you using? On what operating system?
2.0 rc1, WinXP SP2, FF2.0.0.11
Please provide any additional information below.
Basically, I was trying to make a massive full screen swf (stretched to
100%) inside the body tag. It works ok on IE6 and Safari(windows, v3.0.4)
on my machine but FF seems to hide it completely.
Original issue reported on code.google.com by [email protected]
on 3 Feb 2008 at 10:34
The following is a more proper rendering of the object and it cuts the
script size by about 20%. I could not find any way to mail this or check it
in so I have posted it here...
I have consolidated the two util objects and moved them inside the object
creator function. Thus creating private methods. Since there was only one
constructor remaining I and removed the deconcepts namespace and alias
code. One could easily add the deconcepts namespace again if they felt it
was important. However, since practically all examples use the alias I
opted not to include it.
I removed the backwards compatibility aliasing as well. The
deconcepts.util.getRequestParameter has been made a private call and I
suspect that the nobody much uses the FlashObject alias anymore. The
FlashObject could also be readded although I see no reason to support
ancient history when it is a simple search replace to upgrade.
I've tried to optimise this code by limiting the number of functions that
were called and therefore speeding it up a small amount. I've also replaced
the function getVariablePairs with a function getFlashvars. which is
basically the same but adds the join('&') inside the function instead of
outside where it was called before.
I've removed many unnecessary parenthesis and curly brackets to streamline
the code. All one-line loops no longer have parenthesis. In addition I've
consolidated several statements preceeded by variable declarations. There
were also many inconsistent format mistakes that I tried to a single style.
This code should be much easier to extend since the code is no longer
fragmented.
Finally, I added a new function for adding multiple flashvars to allow for
more terse code at the user level:
SWFObject.addFlashvars({
somevar: 'value',
somethingelse: 'Something else',
etc: true
});
I hope all of these enhancements are to your liking...
- Micon Frink
Original issue reported on code.google.com by [email protected]
on 21 Jan 2008 at 11:49
Attachments:
Got into work this morning. Fired up IE7. Got a 'Flash player upgrade'
dialogue... so I upgraded (9.0.115.0), now SWFObject has stopped working,
I can now only see 'alternate' content. This goes for all websites (not
just the ones I have developed) eg, I see no flash content on adobe.com!
I'm running win vista home.
Flashplayer = 9,0,115,0
Problems in IE7 & Firefox 2
Just thought I'd let you know.
Original issue reported on code.google.com by [email protected]
on 12 Feb 2008 at 2:57
What steps will reproduce the problem?
1. Dynamically add "swfobject.js" to the DOM, either while it's loading,
or after it has loaded, instead of using a <script> tag reference.
2. Try to use it.
3.
What is the expected output? What do you see instead?
I expected swfobject to work. it fails to add the swf to the page, ONLY
in IE (v7 is all i've tested). In Firefox 2.0, it works fine no matter
how the swfobject.js file is added to the page.
What version of the product are you using? On what operating system?
swfobject 2.0 rc1, IE 7, Firefox 2.0, Win XP SP2
Please provide any additional information below.
If you dynamically add the reference to swfobject.js to your page using
something like:
var blah = document.createElement("script");
blah.src = "swfobject.js"
document.getElementsByTagName('head')[0].appendChild(blah);
Something about the library apparently fails to initialize in IE7, but
this same approach works fine in Firefox 2.0.
I set up two simple test files to illustrate this issue:
http://www.getify.com/swfobject/test-swfobject-works.html
http://www.getify.com/swfobject/test-swfobject-broken.html
If you do a view-source on those two, you'll notice the only difference is
how the swfobject.js file gets loaded onto the page. Both tests try to
load the test.swf provided with the library download onto the page when
you click the "here" link. In IE7, one works, one does not. No errors
seemed to be issued either. But in Firefox 2.0, both work.
Original issue reported on code.google.com by [email protected]
on 14 Jan 2008 at 10:55
What steps will reproduce the problem?
1. Create a page which includes the json.js or prototype.js library
2. Include an swfobject.js Flash include, with at least one param
3. View the generated source created for the Flash movie
What is the expected output? What do you see instead?
You will see param elements in the generated HTML which include serialised
function definitions. This (usually) does not prevent the Flash rendering
but it is not correct behaviour.
What version of the product are you using? On what operating system?
SWFObject 1.5 on Windows XP, FF2 and IE7 - this is a JS problem and will
affect all browsers though.
I can also see the same problem in the trunk at present.
Please provide any additional information below.
The underlying issue is explained in
http://yuiblog.com/blog/2006/09/26/for-in-intrigue/
It's caused by iterating over the params and variables objects with a
for..in loop, without checking the type of the result. Any script that adds
functions to Object.prototype will cause the HTML to be rendered incorrectly.
Original issue reported on code.google.com by [email protected]
on 11 Oct 2007 at 11:27
What steps will reproduce the problem?
1. run example
2. validation after JS execution
What is the expected output? What do you see instead?
Expected
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">
<html>
<head><title>HTML Body after JavaScript execution</title></head>
<body>
<div>
<object id="myId" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
height="120" width="300">
<param name="movie" value="test6.swf" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="test6.swf"
height="120" width="300">
<!--<![endif]-->
<div>
<h1>Alternative content</h1>
<p><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></p>
</div>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>
</body>
</html>
I see:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">
<html>
<head><title>HTML Body after JavaScript execution</title></head>
<body>
<div>
<object id="myId" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
height="120" width="300">
<param name="movie" value="test6.swf">
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="test6.swf"
height="120" width="300">
<!--<![endif]-->
<div>
<h1>Alternative content</h1>
<p><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></p>
</div>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>
</body>
</html>
What version of the product are you using? On what operating system?
2.0 RC1
Please provide any additional information below.
When i use your script i try valid xhtml code after JS execution. Then
there are not " />". Code is not xhtml valid.
Original issue reported on code.google.com by [email protected]
on 14 Jan 2008 at 5:31
What steps will reproduce the problem?
1. use SWFobject to embed a flash file on a page that has
ExternalInterface api functions registered from inside it.
2. pass a style to embedSWF that "hides" the object
3. try to call one of the exposed functions on the flash object.
What is the expected output? What do you see instead?
The expectation is that having an object hidden would not prevent calls to
its ExternalInterface exposed functions. However, on both browsers,
javascript errors happen when trying to call those registered functions if
the flash object was hidden by the CSS style added
What version of the product are you using? On what operating system?
swfObject 2.0rc1, windows XP sp2, with IE 7 or Firefox 2
Please provide any additional information below.
In IE7, if the object style has "display:none", the swfobject is in fact
hidden, but none of its exposed functions can be called. However, doing
something like width:0,height:0 works fine in IE7.
In Firefox however, all of those types of styles seem to create the same
problem with the function calls. In fact, if the flash object is
displayed off the screen in anyway (either at -10,-10, or at 1000,1000 or
whatever), EVEN with non-hiding styles (like width:5,height:5 or whatever)
the ExternalInterface exposed functions are not available. ONLY swf's
which are *visible* on the screen at the time seem to be able to have
their functions called.
The reason I really believe this is related to swfobject is that if i use
a CSS style for the object which IS visible (width>0 and height>0) and
pass that to embedSWF, and then after the object is loaded, i set the
style dynamically to make those properties 0 each (which hides it), the
function calling WORKS, on both browsers. So it was JUST that the object
couldn't be hidden while it was being created by swfobject and the
externalinterface exposed functions were being registered.
Also, if I just don't pass any style to the embedSWF function, and then
assign a class to the flash object later, the function calls will work.
***NOTE: This observed behavior is DIFFERENT than if I just embed the
flash directly into the page, which is why I think it has something to do
with SWFObject. And, Adobe's AC_RunActiveContent.js seems even worse with
these problems, btw.
Unfortunately, Firefox still has a problem with functions on the flash
object if the dynamic style (or class) setting gives "display:none", or
positions it off the screen ("left:1000px") to the flash object instead of
0 width/height. BUT, one good thing is that "display:none" now works in
IE.
Sigh.
Original issue reported on code.google.com by [email protected]
on 9 Jan 2008 at 2:44
What steps will reproduce the problem?
1. Use 100% for width and height of the .swf in swfobject.embedSWF
2. Save the html and refresh in Firefox
3. There will be a blank page - the .swf is not visible
What is the expected output? What do you see instead?
I expect to see the .swf file resized to the browser size, but instead I
don't see anything; however it works well in IE7, but not in Firefox 2
What version of the product are you using? On what operating system?
SWFObject 2.0 beta6 on Windows XP, Firefox 2
Please provide any additional information below.
If I change the width and heigth to a number, then the .swf will show up
Original issue reported on code.google.com by [email protected]
on 24 Jan 2008 at 9:30
What steps will reproduce the problem?
1. Code at http://www.kroix.com/swfO/class.html displays correctly in IE6 &
7, but not Firefox
2.
3.
What is the expected output? What do you see instead?
Expected: Blue box with green line (as per IE), instead movie displays
transparent and div is not the specified class color.
What version of the product are you using? On what operating system?
SWFObject v2.0 rc4
IE6, 7
FF 2
Windows XP Pro SP2
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 4 Mar 2008 at 10:14
What steps will reproduce the problem?
1. Have a page with swfobject (loading option 2.. scripting)
2. Have on the same page a Google Map component
3. Run the page on IE
What is the expected output? What do you see instead?
It was expected that both the google maps and the flash component would
appear.
On Firefox, it does. But on IE it doesn't.
What version of the product are you using? On what operating system?
SWFObject v2.0 rc2
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 10 Mar 2008 at 12:41
The current solution to fix the active content for IE6+ and Opera9+ (static
publishing method only) is not optimal.
Currently we replace all loaded SWFs by themselves as soon as the window
onload event fires.
The main reason for this is that in IE there is no formal way of canceling
a loading asset (at least not that we are aware of). Also a
document.onreadystatechange strategy doesn't seem to work, so basically we
have to wait for a window onload event to fire.
Drawbacks with the current method are:
- Click to activate is only removed after an entire page with all its
assets are loaded
- By replacing a movie with itself it will be reinitialized and animations
will restart, possibly causing all kinds of issues
- The Opera fix only works for some versions of Opera9+
This means we will need to rethink our approach here.
Original issue reported on code.google.com by bobbyvandersluis
on 4 Oct 2007 at 11:59
puede servir o no o si o no
Original issue reported on code.google.com by [email protected]
on 12 Mar 2008 at 2:26
Attachments:
What steps will reproduce the problem?
1. Load a flash with clips positionned using stage.stageWidth or
stage.stageHeight in Internet Explorer 7.
2. Go somewhere else and come back, or refresh the page.
3.
What is the expected output? What do you see instead?
Instead of the proper layout, clips are positionned at 0 pixels instead for
example of being positionned at stage.stageWidth*.5.
If you delete the cache, and reload, everything works fine again.
What version of the product are you using? On what operating system?
Internet Explorer 7 (7.0.5730.11) with Windows XP SP2
Please provide any additional information below.
Original issue reported on code.google.com by amarylisse
on 3 Oct 2007 at 2:43
Report copied over + summarized from:
http://groups.google.com/group/swfobject/browse_thread/thread/4f91e8e87037060b
SWFObject 2.0 RC1
Firefox, Mac OSX - after clicking on the button to agree to update
the player, the browser just hangs
The problem is that after the user clicks OK (or whatever it is) to
agree to update their Flash player in Firefox the browser just hangs.
No message appears. IIRC "transferring data from
fpdownload.macromedia.com" (or something to that effect) appears in
the browser status bar at the bottom, but that's all.
I wondered about pop-up blocking but that doesn't appear to be the
issue.
swf window used is 320 x 240 plus an few extra pixels
================
Report copied over + summarized from:
http://groups.google.com/group/swfobject/browse_thread/thread/4f91e8e87037060b
I too am having this problem, but with Firefox on OS X. It works fine
with Safari on OS X and Firefox with Linux and Windows, but has the
mentioned problem with Firefox on OS X.
================
Report sent via email:
I chose to go with SWFObject 2.0rc1 for our launch, and we have been mostly
successful.
There are some issues we are seeing that I would like to ask your opinion
on, however. I am not clear if it is something we are doing in our
publishing code that could be affecting this, but there are several people
who claim our site isnt working for them in firefox. We have a large swf
that we embed into the page for the main functionality. We are using
dynamic publishing, with the following code:
swfobject.flashvars = { permalink:'dave', vol:'0.3' };
swfobject.params = {};
swfobject.attributes = { id:'channel_swf', name:'channel_swf' };
swfobject.embedSWF('/swf/v1/channel.swf', 'bd', '974', '532', '9.0.47',
'/swf/expressInstall.swf', swfobject.flashvars, swfobject.params,
swfobject.attributes);
Do you see any problems with that?
We are trying to set focus for the object for disabled users as well with
the following code:
swfobject.addLoadEvent( function() {
var channelSwf = YD.get('channel_swf'); // YAHOO.util.Dom.get() returns
an instance of the HTMLElement
channelSwf.focus();
});
The main issues we notice are users unable to upgrade their Flash Players
on Firefox Mac (hanging connection to fpdownload.adobe.com) and/or white
boxes where the flash is supposed to be that hang indefinitely.
I have been unable to replicate these issues, however the bug reports are
very consistent. Maybe you know something off the bat that would help.
Original issue reported on code.google.com by bobbyvandersluis
on 19 Feb 2008 at 10:05
What steps will reproduce the problem?
1. Place two <div></div> on the page. The first one containing an swf file
and give the second a solid background color.
2. Using style="background-color:#000000;margin-top:-50px;" on the second
div tag
3. The second div will overlap the first.
What is the expected output? What do you see instead?
I need the second div to be underneath the first div that holds the swf.
Instead of being beneath the swf it overlaps it on top.
What version of the product are you using? On what operating system?
Internet Explorer 7 IE7 Windows XP & Vista
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 19 Feb 2008 at 3:55
What steps will reproduce the problem?
1. even after refresh
2.
3.
What is the expected output? What do you see instead?
The expected output is to get 1st video autoplay when the page is loaded.
I didnt get autoplay at start but the video gets played when buffer
reaches to almost 60% of video
What version of the product are you using? On what operating system?
swfobject_2_0_rc3 on windows vista
Please provide any additional information below.
I have provided my HTML code as an attachment
kindly reply ASAP
thanks
Original issue reported on code.google.com by [email protected]
on 27 Feb 2008 at 2:15
Attachments:
What steps will reproduce the problem?
1. Try opening www.swffix.org/swfobject/testsuite/test.html in IE7
What is the expected output? What do you see instead?
I didn't expected to see the "click to activate message".
What version of the product are you using? On what operating system?
SWFObject 2.0 beta 1
IE 7 on windows XP SP2
Please provide any additional information below.
Original issue reported on code.google.com by amarylisse
on 3 Oct 2007 at 9:37
Using the latest version:
Basically, if the user doesn't have any Flash installed at all,
expressInstall won't work. Now, we could use the alt text and direct the
user to install flash, but a better solution may be to use the browser's
plugin detector (firefox and ie both have this) to get the user to install
the plugin.
Original issue reported on code.google.com by [email protected]
on 7 Mar 2008 at 8:43
What steps will reproduce the problem?
1. try open index_dynamic.html in Internet Explorer
2.
3.
What is the expected output? What do you see instead?
I would have expected to see the swf. Instead I get "Alternative Content"
and a link to get the Adobe Flash Player
What version of the product are you using? On what operating system?
SWFObject 2.0 beta 1
IE 6 on Windows XP
IE 7 on Vista 64bit
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 2 Oct 2007 at 12:57
Copied over from Google Groups:
===
http://groups.google.com/group/swfobject/browse_thread/thread/dfc6a96aa4031d95
hi there!
i hope you don't mine me emailing you direct (i don't have a gmail
account to signup to your forums with), but i found a small buglet in
the latest version of swfobject. basically it only affects ajax-loaded
content, and the problem stems from the function : addDomLoadEvent
embedSWF calls this function, but if embedSWF is called AFTER the dom
has loaded, the resultant call to createSWF is incorrectly run (it seems
to be an old cached version).
the solution is quite easy : simply change addDomLoadEvent
function addDomLoadEvent(fn) {
if (isDomLoaded) {
fn();
} else {
domLoadFnArr[domLoadFnArr.length] = fn; // Array.push() is only
available in IE5.5+
}
}
i hope this helps, and thanks for a great tool :)
chris
===
http://groups.google.com/group/swfobject/browse_thread/thread/c857d29662509809/0
a04ea40128088c2?hl=en&lnk=gst#0a04ea40128088c2
> I've been develeoping with the old swfObject (1.5) and recently
> switched over to the new 2.0 beta.
> I noticed that you can't embed a flash object after the pages loads as
> the embedding with the new version happens only on the onload. Is
> there a way to use this JS to replace an existing flash?
Haven't read through this thread very thoroughly, and I'm not sure I
fully understand all the issues related to this -- I'm not a flash
developer myself, but trying to help one out.
I came up with a very, very simple solution. Tested in Firefox 2 and
Safari 3 on a Mac.
See this diff against current trunk:
http://pastie.textmate.org/private/4ftrnrhae7h50nko8k6sg
The fix is really just the first inserted line. This:
function addDomLoadEvent(fn) {
domLoadFnArr[domLoadFnArr.length] = fn; // Array.push() is only
available in IE5.5+
}
becomes this:
function addDomLoadEvent(fn) {
if (isDomLoaded) return fn(); // if the DOM is already loaded,
trigger directly
domLoadFnArr[domLoadFnArr.length] = fn; // Array.push() is only
available in IE5.5+
}
The rest of the diff is testing it out. I'm using a swf that animates
to verify that the existing flash videos aren't reloaded when a new
one is added.
Again, I may have misunderstood the problem, but if not, please do
merge this into trunk.
Original issue reported on code.google.com by bobbyvandersluis
on 28 Nov 2007 at 10:30
the following will not work (outputs object html that has no height/width
attributes, so the flash doesn't show up)
swfobject.embedSWF('/flash/chat_window.swf', 'cw', 100, 100, '8.0.0');
whereas this will work:
swfobject.embedSWF('/flash/chat_window.swf', 'cw', '100', '100', '8.0.0');
Original issue reported on code.google.com by [email protected]
on 18 Dec 2007 at 12:31
When doing swfobject.embedSWF('/movie.swf', 'someDomId', ...) the element
with id "someDomId" is replaced by the flash movie, but the <object>
doesn't have an "someDomId" as its id.
This is a problem if you need to reference the movie by id to use things
like External Interface.
Original issue reported on code.google.com by [email protected]
on 13 Nov 2007 at 11:46
What steps will reproduce the problem?
View here http://2izi.org/swfobject/index_100px.html, works fine with fixed
width & height, but when change to 100%, no content is visible
http://2izi.org/swfobject/index_100per.html
Original issue reported on code.google.com by [email protected]
on 20 Dec 2007 at 8:03
Use this example
swfobject.embedSWF("test.swf", "myContent", "100%", "100%", "9.0.0",
"expressInstall.swf");
What is the expected output? What do you see instead?
A swf covering the page
What version of the product are you using? On what operating system?
beta 6
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 14 Nov 2007 at 8:59
What steps will reproduce the problem?
1. use swfobject on a page
2. view the page with certain versions of Norton AV/popup blocker installed
3.
What is the expected output? What do you see instead?
The code:
document.write("<script....")
is caught by Norton and replaced with some stuff they use to do popup
blocking. Whatever they do causes browser errors.
That's why many of the popular opensource JS libraries (like Dojo, etc) do
this instead, to prevent Norton from messing with the tag:
document.write("<scr"+"ipt....")
What version of the product are you using? On what operating system?
2.0 rc1, WinXP SP2, IE7, Norton AV 2007
Please provide any additional information below.
I reported this as a comment in
http://code.google.com/p/swfobject/issues/detail?id=31&can=1#c4
and now I've confirmed it.
Original issue reported on code.google.com by [email protected]
on 17 Jan 2008 at 5:35
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.