如果您在弹出弹出窗口时遇到问题,我已经为您提供了一个解决方案,并且如果您想在客户端机器上禁用/启用 javascript(或者甚至只是读取/查询它是否已启用/禁用),我已包含该答案对你来说,我们开始吧:
您要禁用哪个弹出消息?如果是警报消息,试试这个,显然解决窗口或框架对象以满足您的特定需求,我只是假设顶级文档,但如果您需要 iframe,您可以使用 window.frames(0) 访问它。对于第一帧等等...(关于 JavaScript 部分)...这里有一些代码,假设 WB 是您的网络浏览器控件...
WB.Document.parentWindow.execScript "window.alert = function () { };", "JScript"
您必须在整个页面加载完成后才运行上述代码,我知道这很难做到(并且尚未发布完整证明版本)但是我已经这样做了一段时间(完整证明)现在,如果您阅读我之前标记为“webbrowser”和“webbrowser-control”的一些答案,您可以收集有关如何准确执行此操作的提示,但如果您想取消 .confirm JavaScript,请回到手头的问题消息,只需将 window.alert 替换为 window.confirm (当然,使用正确的对象限定您的 window.object 以到达您正在使用的文档层次结构)。您还可以使用上述技术禁用 .print 方法以及新的 IE9 .prompt 方法。
如果要完全禁用 JavaScript,可以使用注册表来执行此操作,并且必须在 webbrowser 控件加载到内存之前更改注册表,并且每次更改它(打开和关闭)都必须重新加载 webbrowser 控件并进入内存(或只是重新启动您的应用程序)。
注册表项是\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\
-键名是1400
,禁用它的值为 3,启用它的值为 0。
当然,因为 Zones 键下有 5 个区域,所以您需要为活动区域或所有区域更改它以确保。但是,如果您只想抑制 js 对话框弹出消息,那么您真的不需要这样做。
让我知道你的情况,如果我能提供进一步的帮助。