我在jQuery中动态创建一个对象元素来渲染一些内容。它适用于除IE8以外的所有浏览器。无法为jQuery中的'Object'标记设置'data'属性。 [IE8 only]
的代码:
j$(document).ready(function(){
j$('.objContainer').html(j$('<object>').attr(
{'data':'http://www.stackoverflow.com',
'type':'text/html'}));
});
执行(在IE8)之后创建的HTML结构:
<object type="text/html"></object>
在其他浏览器[IE9,Firefox,铬]:
<object data="http://www.stackoverflow.com" type="text/html"></object>
任何解决方案?
我怀疑这是由于IE8同源策略限制:
和你一样可以读值。从[MSDN](http://msdn.microsoft.com/en-us/library/ie/ms535859(v = vs.85).aspx):*在IE9标准模式下,对象元素被允许从其他领域。然而,在IE8的标准模式下,这是不允许的。* – bfavaretto 2013-05-03 22:25:50
只是一个猜测,但它可能与stackoverflow.com使用X框架选项来防止嵌入,和IE反应到奇怪吗?尝试嵌入http://example.iana.org/ – 2013-05-03 22:48:36