【发布时间】:2013-08-26 01:14:43
【问题描述】:
我正在使用 Visual Studio C# 2010 作为 Web 浏览器。
WebBrowser 1 导航到此链接:
当它到达页面时,它会加载并冻结。
我认为网页没有问题,因为 chrome、firefox 和常规 IE9 根本不会冻结。
只有我的 c# 程序中的网络浏览器在导航到此链接时会冻结。
如何防止它冻结?该网页似乎正在从另一个站点调用一些 html 数据。
我尝试将此代码添加到我的程序中
this.webBrowser1.ScriptErrorsSuppressed = true;
我还更改了 Web 浏览器的注册表值,以便它可以使用 Internet Explorer 版本 9,但到目前为止这两个都不起作用。
这是我正在使用的代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
webBrowser1.ScriptErrorsSuppressed = true;
}
private void button1_Click(object sender, EventArgs e)
{
webBrowser1.Navigate("http://www.costco.com/IOGEAR-Wireless-1080p-HDMI-Transmitter-and-Receiver-3D-Compatible-2x-HDMI-Ports.product.100011675.html");
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
}
}
}
【问题讨论】:
-
您可以检查 WebBrowser 控件是否实际使用与您的 Internet Explorer 相同的 IE 版本。 (听起来很奇怪,但请耐心等待。)使用每个来访问可以检测浏览器版本的页面(例如,whatismybrowser.com)。可能是 webbrowser 控件使用的是旧版本的 IE ...您可以在注册表中进行更改。见这里:stackoverflow.com/questions/5531452/… 和这里:stackoverflow.com/questions/4612255/…
-
我已经这样做了,我将 dword 更改为 9999,它表明我正在使用 Internet Explorer 9.. 您能否使用上面的代码在您的计算机中重新创建我的程序?我相信你会得到同样的结果