有谁知道about:blank
在 IE 页面上创建 iframe的任何变通方法document.domain
?
document.domain
更改属性后,IE 似乎不允许访问空/动态 iframe 。
例如,假设您正在动态创建一个 iframe,然后将一些 html 注入其中:
// Somewhere else, some 3rd party code changes the domain
// from something.foo.com to foo.com
document.domain = 'jshell.net';
var iframe = document.createElement('iframe');
document.body.appendChild(iframe);
// In IE, we can't access the iframe's contentWindow! Access is denied.
iframe.contentWindow.document.body.style.backgroundColor = 'red';
这是关于 jsfiddle 的一个活生生的例子:http: //jsfiddle.net/XHkUT/
您会注意到它在 FF/Webkit 中运行良好,但在 IE 中却不行。这尤其令人沮丧,因为这会影响在属性更改后document.domain
创建的 iframe (如上面的示例所示)。
IE 规则似乎是“如果您在更改后创建动态/空 iframe document.domain
,则无法访问其 DOM。”
将 iframe 设置src
为about:blank
javascript:void(0)
或javascript:""
未成功。