页面

2009年4月14日

eval() 与 window.execScript() 大比拼,vbs执行js javascript脚本

eval() 与 window.execScript() 大比拼

eval() 与 window.execScript() 表面看起来好像一样,都是让提供的某一段字符串脚本运行,但有谁又知有以下区别呢?
1. 在 FireFox 下 window.execScript() 函数不能运行,而 eval() 在两个浏览器下都能正常运行;
2. window.execScript() 所执行后的脚本上文是针对整个全局域的,而 eval() 对字符串脚本执行的上下文只针对于调用 eval 函数本身的上下文;

现在问题就出来了,有哪位前辈指点一二,有没有办法将 eval() 函数对字符脚本的执行上下文扩大,不是在其函数内部,而改成全局域的上下文呢?

PS:急啊,最近在写一个东东,必须支持两个浏览器的,而实现机制只能通过执行字符脚本的。
 
----------------------vbs执行js代码示例----------------------
WScript.Sleep(2000)
gopage="postAction('nextPage');"
ie.document.parentwindow.execScript gopage,"javascript"

没有评论: