【问题标题】:Object doesn't support property or method WebBrowser Control对象不支持 WebBrowser 控件的属性或方法
【发布时间】:2012-08-31 13:25:53
【问题描述】:

我已经开发了一个移动应用程序(在 asp.net 中),我正在使用带有 WebBrowser 控件的 WinForms 应用程序来演示它。

我的主页我正在使用脚本来隐藏地址栏:

<script type="text/javascript">
    window.addEventListener("load", function () {
        // Set a timeout...
        setTimeout(function () {
            // Hide the address bar!
            window.scrollTo(0, 1);
        }, 0);
    });
</script>

这在几台机器上运行良好,但今天早上在一台新机器上我在页面加载时遇到了一个弹出窗口:

有问题的机器安装了 IE9,我检查了Disable Script Debugging 设置。

解决此问题的最佳方法是什么。可以在 JS 中添加一些条件在 IE 中运行时不执行吗?

【问题讨论】:

  • WebBrowser 控件似乎没有使用 IE9 工具>选项设置。因此即使Disable Script Debugging 在 IE 中被选中,此设置也不会传播到控件。我设法通过使用WebBrowser.ScriptErrorsSuppressed = True 在控件中将其关闭

标签: javascript asp.net winforms internet-explorer-9


【解决方案1】:

我知道这个问题是从 2012 年开始的,但有一个答案。

&lt;head&gt; 文档的顶部,您需要在其中添加脚本

<meta http-equiv="X-UA-Compatible" content="IE=edge">

WinForms WebBrowser 控件正在使用 Internet Explorer,但您需要在那里强制使用最新版本。例如。如果您使用的是 jQuery 2+,则它需要 IE 9+,因此您至少需要使用 9 或更高版本。

【讨论】:

  • 我是 WinForm 浏览器控件并面临同样的问题。如何处理来自浏览器的控制?
【解决方案2】:

Webbrowser 控件不支持 jquery v2。

使用 jquery 1.9.1。

<script src="http://code.jquery.com/jquery-1.9.1.js"></script>

【讨论】:

    【解决方案3】:

    Webbrowser 控件是 Internet Explorer 本身的一部分。并且 Internet Explorer 不支持 window.addEventListener 方法。请改用window.attachEvent 方法。

    所以你页面中的脚本会是这样的

    window.attachEvent("load", function () {
        // Set a timeout...
        setTimeout(function () {
            // Hide the address bar!
            window.scrollTo(0, 1);
        }, 0);
    });
    

    希望对您有所帮助!

    【讨论】:

    猜你喜欢
    • 2019-07-05
    • 2015-11-21
    • 2015-04-14
    • 2020-09-03
    • 2015-04-09
    • 2014-01-12
    • 2016-08-20
    • 2013-10-05
    • 1970-01-01
    相关资源
    最近更新 更多