我在IE上的YUI rich edit demo遇到了一个有趣的(?)问题。查看用作浏览器的内容可编辑框架的window
对象时,我看到eval
函数未定义(通过运行以下内容)。
javascript:alert(document.getElementById("editor_editor").contentWindow.eval)
这只发生在IE上(我在IE6和IE8上查看过),它不会在Firefox或Chrome上发生。
所有其他window
函数和属性似乎都是有序的,现在我意识到eval
<{1}}全局对象,但我的理解是,在浏览器中,window
是全局对象(window
确实出现在所有其他窗口上,为什么不在这个?)。
有没有人知道这是IE中的已知错误/限制以及如何在此框架的全局对象的上下文中访问eval
? (我需要副作用可用于在此框架内运行的任何东西)。
答案 0 :(得分:3)
我发现前一段时间你可以先使用eval
让execScript
神奇地出现在IE中的iframe窗口对象中:
function evalIframe(iframeWin, command) {
if (!iframeWin.eval && iframeWin.execScript) {
iframeWin.execScript("null");
}
if (iframeWin.eval) {
iframeWin.eval(command);
} else {
alert("No eval!");
}
}