无。
仅 IE 和 Chrome 支持 window.execScript 方法,其他浏览器不支持。IE 和 Chrome 对于此方法中语言类型参数的支持也存在差异。
使用 window.execScript 方法执行一段脚本代码字符串时,在 IE Chrome 浏览器以外的浏览器中可能无法执行,从而造成脚本错误。
所有浏览器 |
---|
根据 MSDN 中描述,window.execScript 方法会根据提供的脚本语言执行一段脚本代码。window.execScript
方法有两个参数,第一个参数指定被执行的脚本代码段,第二个参数指定脚本代码语言类别 (缺省值为 JScript)。
execScript 方法执行后的代码位于全局作用域下。
更多详细内容参见:execScript Method 。
分析以下代码,看 window.execScript 方法在各浏览器的支持情况:
<!DOCTYPE html> <html> <head> <style> * { margin:0; padding:0; font:18px
'Trebuchet MS'; } table { border-collapse:collapse; } table td, table th { border:1px solid black; } th
{ background:#ddd; } </style> </head> <body> window.execScript() <table
cellspacing="0" cellpadding="0"> <script> var a, lang =
['JavaScript', 'JavaScript1.1', 'JavaScript1.2', 'JavaScript1.3',
'JavaScript1.4', 'JScript', 'VBS', 'VBScript',
'abcJavaScriptdef', 'Java-Script']; for (var i in lang) { try { a = undefined; window.execScript('a = 1', lang[i]); } catch(ex) { a = ex.message;
} document.write('<tr><th>' + lang[i] + '</th><td>' + a +
'</td></tr>'); } </script> </table> </body> </html>
各浏览器执行结果如下:
脚本语言 | IE6 IE7 IE8 | Chrome | Firefox Safari Opera |
---|---|---|---|
JavaScript | 支持 | 支持 | 不支持 execScript |
JavaScript1.1 | 支持 | 支持 | 不支持 execScript |
JavaScript1.2 | 支持 | 支持 | 不支持 execScript |
JavaScript1.3 | 支持 | 支持 | 不支持 execScript |
JavaScript1.4 | 不支持此语言类型 | 支持 | 不支持 execScript |
JScript | 支持 | 不支持此语言类型 | 不支持 execScript |
VBS | 支持 | 不支持此语言类型 | 不支持 execScript |
VBScript | 支持 | 不支持此语言类型 | 不支持 execScript |
abcJavaScriptdef | 不支持此语言类型 | 支持 | 不支持 execScript |
Java-Script | 不支持此语言类型 | 不支持此语言类型 | 不支持 execScript |
可见,
注: 脚本语言类型参数不区分大小写。
window.execScript 方法不是所有浏览器都支持,需谨慎使用。若需要在其他不支持 window.execScript 方法的浏览器中达到类似的效果,可以使用 window.eval 方法:
<script type="text/javascript"> var jsCode = "var a = 1;"; if (window.execScript) { window.execScript(jsCode, "JavaScript"); } else { window.eval(jsCode); } </script>
操作系统版本: | Windows 7 Ultimate build 7600 |
---|---|
浏览器版本: |
IE6
IE7 IE8 Firefox 3.6.10 Chrome 7.0.552.0 dev Safari 5.0.2 Opera 10.63 |
测试页面: |
execScript_JavaScript.html
|
本文更新时间: | 2010-10-26 |
execScript JScript JavaScript eval window 全局