eval() 与 window.execScript() 大比拼,vbs执行js javascript脚本
eval() 与 window.execScript() 大比拼
eval() 与 window.execScript() 表面看起来好像一样,都是让提供的某一段字符串脚本运行,但有谁又知有以下区别呢?
1. 在 FireFox 下 window.execScript() 函数不能运行,而 eval() 在两个浏览器下都能正常运行;
2. window.execScript() 所执行后的脚本上文是针对整个全局域的,而 eval() 对字符串脚本执行的上下文只针对于调用 eval 函数本身的上下文;
现在问题就出来了,有哪位前辈指点一二,有没有办法将 eval() 函数对字符脚本的执行上下文扩大,不是在其函数内部,而改成全局域的上下文呢?
PS:急啊,最近在写一个东东,必须支持两个浏览器的,而实现机制只能通过执行字符脚本的。
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"
gopage="postAction('nextPage');"
ie.document.parentwindow.execScript gopage,"javascript"
评论