日期:2014-05-18  浏览次数:21198 次

webBrowser跨域frame
webbrowser 内嵌的<frame>或<iframe>

需要读取其HtmlElement信息,但如果其url与主框架页不同,

就会出现"webbrowser (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))"UnauthorizedAccessException信息,

搜索了以前的帖子,没有找到可解决的办法。

真的不能实现吗?

------解决方案--------------------
我也在关注,一起顶!
------解决方案--------------------
还差50分就可以升星了,给我个50分吧。谢谢了
------解决方案--------------------
MessageBox.Show(webBrowser1.Document.Window.Frames["main"].Document.Body.InnerHtml);
HTMLDocument doc = (HTMLDocument)webBrowser1.Document.DomDocument;
object j;
for (int i = 0; i < doc.parentWindow.frames.length; i++)
{
j = i;
HTMLWindow2Class frame = doc.parentWindow.frames.item(ref j) as HTMLWindow2Class;
if (frame.name == "main")
{
MessageBox.Show(frame.document.title);
}
}
IHTMLDocument2 doc = (IHTMLDocument2)webBrowser1.Document.Window.Frames["main"].Document.DomDocument;

private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
string url = webBrowser1.Document.Window.Frames["main"].Document.ActiveElement.GetAttribute("src");
}


------解决方案--------------------
帮你顶
------解决方案--------------------
人生的可以
------解决方案--------------------
...
------解决方案--------------------
是要在页面里读还是例外做个程序??
------解决方案--------------------
如梦大哥升钻啦,恭喜恭喜,偶才刚知道
------解决方案--------------------
关注,也没解决
------解决方案--------------------
http://msdn.microsoft.com/en-us/library/ms537182(VS.85).aspx
实现GetSecurityId,为不同的域名返回同一个security id。
要在Windows Forms里面实现的话有两种方法吗一种是重载webbrowsercontrolsitebase,另一种是不用webbrowser类,直接插入ActiveX。csexwb用的是后一种方法。