为什么这个window对象没有eval函数?
我在 YUI rich edit demo 在 IE 上。当查看用作浏览器的内容可编辑框架的 window 对象时,我发现 eval 函数未定义(通过运行以下命令)。
javascript:alert(document.getElementById("editor_editor").contentWindow.eval)
这种情况只发生在 IE 上(我在 IE6 和 IE8 上检查过),在 Firefox 或 Chrome 上不会发生。
所有其他 window
函数和属性似乎都在顺序,现在我意识到 eval
并不是真正在 window
上定义的,而是在全局对象上定义的,但我的理解是在浏览器中 >window
是全局对象(而且eval
确实出现在所有其他窗口上,为什么不在这个窗口上呢?)。
有谁知道这是否是 IE 中的已知错误/限制以及如何在此框架的全局对象的上下文中进行 eval
? (我需要副作用可用于此框架内运行的任何内容)。
I ran into an interesting (?) problem in the YUI rich edit demo on IE. When looking at the window
object for the content editable frame used as the browser I see that the eval
function is undefined (by running the following).
javascript:alert(document.getElementById("editor_editor").contentWindow.eval)
This only happens on IE (I checked on IE6 and IE8), and it doesn't happen on Firefox or Chrome.
All the other window
functions and properties seem to be in order, now I realise that eval
is not really defined on the window
but on the global object but my understanding was that in browsers the window
is the global object (also eval
does appear on all other windows so why not on this one?).
Does anyone know if this is a know bug/limitation in IE and how I can get to eval
in the context of the global object of this frame? (I need the side effects to be available to anything running from within this frame).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不久前发现,您可以首先使用
execScript
使eval
神奇地出现在 IE 中的 iframe 窗口对象中:I discovered a while back that you can make
eval
magically appear in an iframe's window object in IE by usingexecScript
first: