【问题标题】:how to avoid about blank blocked while open a new tab打开新标签时如何避免空白被阻止
【发布时间】:2020-08-11 13:52:19
【问题描述】:

我正在使用下面的代码在新窗口中打开页面,它按预期工作,但是当我右键单击“在新选项卡中打开”时,它会被“about:blank#blocked”阻止,我期待链接到在新标签中打开如何解决?

<a href="javascript:;" style="color:red;" onclick="window.open('http://www.la.unm.edu',null,'left=50,top=50,width=700,height=500,toolbar=1,location=0,resizable=1,scrollbars=1'); return false;">Limk</a>

【问题讨论】:

  • 把链接放在href而不是javascript:;
  • 我尝试通过给出 href="la.unm.edu" 我观察到,在关闭窗口时它不会返回链接启动的主页,而是留在由 window.open 打开的页面(url)打开
  • 遇到了同样的问题about:blank#blocked。我遗漏了结束 </a> 标签。添加这个解决了问题。

标签: javascript url window.open


【解决方案1】:

正如@Lain 所说,只需填写href 属性即可。

<a href="http://www.la.unm.edu" style="color:red;" onclick="window.open('http://www.la.unm.edu',null,'left=50,top=50,width=700,height=500,toolbar=1,location=0,resizable=1,scrollbars=1'); return false;">Limk</a>

Working Sandbox Demo(将其添加到代码 sn-p,因为代码 sn-p 不允许点击异地链接)

如果您想完全控制上下文菜单操作,以便“在新选项卡中打开”的行为与 window.open() 相同,那么您可能应该看看这个答案:How to add a custom right-click menu to a webpage?

你为什么收到about:blank#blocked?好吧,about:blank 只是一个空白页面,当您右键单击一个元素并单击上下文菜单中的某些内容时,不会触发 onClick 事件。所以,它只是显示一个空白页。

那为什么也写#blocked?可能是因为 href 包含“javascript”,并且浏览器正试图阻止恶意代码执行。解释这一点的资源很少,但AskLeo.com 说...

“about:blank#blocked”有时会显示为安全软件阻止访问某些内容的结果。

【讨论】:

  • 感谢您的回答是的,我明白,在发布问题之前,我通过给出 href="la.unm.edu" 我观察到,在关闭窗口时它不会从哪里返回主页该链接已启动,而不是与 window.open 打开的页面(url)保持一致
  • @jcrshankar:好的,我想我现在明白了——您希望“在新窗口中打开”的行为与 window.open 完全一样。在这种情况下,您需要覆盖上下文菜单,并制作一个自定义菜单,以便您可以控制单击上下文菜单的事件。像这样的东西:How to add a custom right-click menu to a webpage? 这行得通吗?如果正确的话,我可以更新我的答案。
  • 嗨,在 PageA 我有一个链接。当我点击链接时,新页面(比如 PageB)应该在新窗口上加载(window.open),当我关闭窗口时,它应该再次返回到 PageA。同样,当我右键单击并从 PageA 的链接上选择“打开一个新选项卡”时,它应该在新选项卡上加载 PageB。
  • @jcrshankar:您好,感谢您回复我。上面的代码似乎与您描述的完全一样。 I tested with a working demo.点击链接:弹出窗口,关闭窗口,我回到浏览器和主页。右键链接,点击在新标签中打开,关闭新标签,我又回到了浏览器和首页。
猜你喜欢
  • 2015-10-18
  • 1970-01-01
  • 2017-09-29
  • 1970-01-01
  • 1970-01-01
  • 2016-06-06
  • 2019-01-01
  • 2018-06-07
  • 2020-04-09
相关资源
最近更新 更多