我觉得IE7默认情况下在Internet区域启用了Javascript,但是对于本地HTML文件[我的电脑区域](互联网现在比你的本地计算机更安全吗?)禁用了它,但是无论如何......
我在VBA中有一个应用程序,使用WebBrowser控件打开一个本地HTML文件(例如,file:/// C:\ somefile.html),其中包含Javascript。我想要执行这个Javascript。有没有办法(从VBA代码)强制浏览器允许这个Javascript? (考虑到它默认禁用)
如果我不必依赖任何种类的注册表编辑,或者告诉用户应用程序更改其Internet Explorer设置,那将是理想的选择。 我也尝试过设置localhost网络服务器并从那里提供文件。显然工作得很好,因为IE认为这是互联网区域,但如果我不必尝试从VBA编写网络服务器,我也会喜欢它。
系统是带有IE7的Windows XP。
由于
答案 0 :(得分:0)
好吧,可能不是一个“真正的”解决方案,但足以满足我的需求。
可以使用WebBrowser.Document.parentWindow.execScript
函数将Javascript注入页面。
我想这里有可能实现类似于Prototype's evalScripts function的东西,以便它有效地评估页面上的任何脚本。可能需要仔细检查可能不同的安全设置尚未允许脚本。
我不知道它如何影响链接的脚本文件。
(对于我自己的应用程序,我控制HTML文件,所以我只是将所有Javascript解压缩到一个单独的文件中并使用上面的方法执行它。)