- From: Andrew Oakley <andrew@ado.is-a-geek.net>
- Date: Thu, 06 Aug 2009 13:42:25 +0100
The rules in the HTML5 spec for which plugin to load for an <object> do not seem to be followed by any browser, and in some cases are different to behavior that is common to Opera, Webkit and Gecko (I haven't tested with IE due to its lack of nsplugin support). Most notably HTML5 says that the Content-Type header is used in preference to the type attribute, whereas the browsers seem to honour the attribute in preference to the header. (If the spec is changed to match the browsers behaviour then the conditions on when to load a new plugin also need to be changed.) HTML5 also seems to prefer the type attribute on <script>s rather than the Content-Type header. Detaching and reattaching a <object> from the document seems to make the browsers destroy the object and then recreate it. Presumably this means that the DOM objects also change depending on whether or not an <object> is attached to the document (haven't confirmed that this is the case). Changing the attributes on an <object> that is attached to the document doesn't seem to "work" - Webkit does nothing, Opera seems to stop scripting (presumably some kind of error), Firefox reloads the plugin in some cases (even if its not the right one anymore). Removing an <object> from the document (browsers destroy plugin object), changing the attributes and reattaching it to the document (browser creates plugin object) seems to work fairly reliably across browsers. In effect it seems that browsers use the attributes that were on the <object> when it was attached to the document, and do not respond to changes in the attributes. The test cases I used are available at http://ado.is-a-geek.net/~andrew/pluginstest.tar.bz2 (sorry they are somewhat linux based due to the platform specific plugins). In summary I have a few questions related to <object>s: - Should the type attribute take precedence over the Content-Type header? - Should <object>s exist all the time whether they are attached to the document or not? - Should changing the attributes change the plugin, or should we just use the attributes when the object was attached to the document? Cheers -- Andrew Oakley
Received on Thursday, 6 August 2009 05:42:25 UTC