多标签浏览器,遇到页面有window.opener 新窗口有bug,求解决办法

ccj188 ccj188 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我用 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 起作用的,但是我这里没有其他作用,不知道哪里错了,请高手处理下,
这个感激不尽。
...全文

相关推荐

评论 8
收藏 已收藏
分享
返回顶部
ccj188
C# 111,128 成员 642,536 内容