读书人

WebBrowser限定访问指定的网站解决思路

发布时间: 2013-02-04 10:50:22 作者: rapoo

WebBrowser限定访问指定的网站
我在WPF应用程序中,利用WebBrowser控件,将指定的一个网站的首页加载出来,现在有个需求,就是在这个应用程序中,要限制访问其他网站,就是说只能访问这个网站的不同页面,比如说:我现在访问的这个网站中,本来有友情链接、还有新浪微博登陆、腾讯微博登陆等等,这些链接一点击肯定就跳转到其他公司网站去了,现在就是要限制这样的功能,我该怎么做,烦请提供个思路啊,谢谢了,急
[解决办法]
在同一个浏览器,那最好就不要用wpf的webbrowser了。
嵌一个windowsFormHost,再套一个winform下的webbrowser吧。
然后设置新窗口事件和加载完成事件


// 新建窗口事件
void browser_NewWindow(object sender, System.ComponentModel.CancelEventArgs e)
{
e.Cancel = true;
}

// 页面加载完成事件
void browser_DocumentCompleted(object sender, System.Windows.Forms.WebBrowserDocumentCompletedEventArgs e)
{
//将所有的链接的目标,指向本窗体
foreach (System.Windows.Forms.HtmlElement archor in browser.Document.Links)
{
archor.SetAttribute("target", "_self");
}

//将所有的FORM的提交目标,指向本窗体
foreach (System.Windows.Forms.HtmlElement form in browser.Document.Forms)
{
form.SetAttribute("target", "_self");
}
}

读书人网 >C#

热点推荐