【问题标题】:System.Windows.Forms.WebBrowser doesn't run JavascriptSystem.Windows.Forms.WebBrowser 不运行 Javascript
【发布时间】:2013-07-28 10:39:28
【问题描述】:

我尝试以编程方式点击的网站上有一个链接。它工作了一段时间,然后突然停止了。我知道,喜欢这些问题,对吧?

我认为网站发生了一些变化,我现在只是抓住了错误的元素,但事实并非如此。

当我尝试手动点击链接时,什么也没有发生——这对我来说很奇怪。它适用于 IE、Mozilla、Chrome 等...似乎 javascript 刚刚停止使用 webbrowser 对象。

href 是: href="javascript:SomeMethod('Param1', 'Param2', 'Param3')

有没有办法告诉所有的 javascript 都正确加载了? 我必须设置什么设置才能让 javascript 工作吗?

注意:我设置了 WebBrowser.ScriptErrorsSuppressed = true 因为过去页面上有错误。

谢谢!

PS - 我很抱歉他们不会让我创建 webbrowser 或 system.windows.forms.webbrowser 标签...没有代表...

8 月 6 日更新:我做了一些阅读和一些询问,以确定 IE 对此控件做了哪些我没有做的事情?显然,有某种方法可以将我的 Web 浏览器控件链接到运行它的 Windows 配置文件,使用这些 Internet 权限而不是默认权限,这可能是什么都没有运行的原因。我还没有找到如何做到这一点。

【问题讨论】:

  • 标签不应该被创建,因为它不应该被创建,但你可以使用winformsbrowser标签。

标签: c# javascript winforms browser


【解决方案1】:

试试这个

object[] o = new object[3];
            param1[0]=txtMessage.Text;
            param1[1]=txtMessage.Text;
            param1[2]=txtMessage.Text;
object result = this.webBrowser1.Document.InvokeScript("SomeMethod('Param1', 'Param2', 'Param3')", o);

【讨论】:

  • 但是为什么不手动点击链接激活javascript呢?这不是浏览器更深层次的问题吗?
猜你喜欢
  • 2017-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-02
  • 1970-01-01
相关资源
最近更新 更多