我用 ExtendedWebBrowser 控件写的一个多标签浏览器,
在解决弹出新窗口时解决了99%的问题,但是还有一个辣手的问题没有解决,求解。
问题:当浏览者重a页面到b页面时,a页面通过
<script language="Javascript">
window.open(' dmain.htm','CRM','toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,width=500,height=500,left=0,top=0');
window.opener=null;
window.open("","_self");
window.close();
</script>
打开b页面时,打开b页面一切正常,
但是,如果b页面里有一个权限验证的代码,那就出问题了,如b页面有如下验证代码:
<script language="javascript">
if(typeof(opener) == "undefined")
{
alert("禁止非法进入页面!");
window.opener=null;
window.open("","_self");
window.close();
}
</script>
b页面打开是会提示“禁止非法进入页面”。
请高人指点一下,我测试了网上很多代码都无法解决这个问题:
我做了个测试包,下载地址:
http://www.ahtxh.net/soft/browser.rar
测试包中,在c#代码中打开logo.htm页面,就有连接了。
c#代码中:
void webbrowser_StartNewWindow(object sender, BrowserExtendedNavigatingEventArgs e)
{
CreateNewTabPage(e.Url.ToString());
e.AutomationObject = CurrentWebBrowser.Application;
e.Cancel = true;
}
其中 e.AutomationObject = CurrentWebBrowser.Application; 这句就是对 window.opener 起作用的,但是我这里没有其他作用,不知道哪里错了,请高手处理下,
这个感激不尽。