防止外部页面重定向我的(父)页面
preventing external page from redirecting MY (parent) page
在Mac OS 10.7上使用最新版本的Chrome。
我认为这是一些聪明的javascript,它使这个网页上的人们能够:
http://www.chairworks.com/
。关闭我(父)页面,该页面首先打开了他们的(chairworks.com)页面。我没有使用 javascript 打开它们,而是使用 target="_blank"
属性的 <a>
标签打开它们。
如果我禁用javascript,那么行为就会停止。
<a href="http://www.chairworks.com" target="_blank">www.chairworks.com</a>
我希望 chairworks.com/的页面只是在另一个选项卡/窗口中打开......但我发现,一旦新的浏览器选项卡打开,它就会关闭,然后我的页面(父选项卡/窗口)被重定向到 chairworks.com 页面。
有点粗鲁。
有人可以指出我什么代码使他们能够做到这一点吗? 我该如何预防它? (假设我希望链接按预期运行,例如在我的演示页面中。
我相信正确的做法是设置相应的链接类型属性,以便浏览器不会为目标窗口提供和opener
引用。
<a href="https://untrusted-site.org" target="_blank" rel="noreferrer noopener">Link</a>
您可以在此处阅读有关链接类型的更多信息:https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types
这是他们正在使用的脚本:
setTimeout('redirect_page()',0);
function redirect_page(){if (window.opener) { window.opener.location.href = '/home.html'; window.close(); } else { location.href = '/home.html'; }}
至于如何规避它(只是一个想法):
创建您自己的空白页,其源设置为 about:blank。当它加载时(或超时后),您可以向该窗口编写一些代码,然后打开有问题的链接。然后,有问题的链接会关闭您的缓冲区页面。!!给用户力量!
编辑:看起来你也可以home.html
呵呵命名你的页面,但这不是一个可行的解决方案。
最终编辑:简单逻辑的人...<a href="http://www.chairworks.com/home.html" target="_blank">www.chairworks.com</a>
适用于所有人,不需要JavaScript。
请参阅此工作 jsfiddle 示例。
正如@GitaarLAB所解释的,目标网站正在使用 window.opener
属性来访问您的页面。自己使用一些Javascript,中间有一个about:blank
页面,可以帮助你减少他们对你页面的访问。就像:
<a href="http://www.chairworks.com/" target="_blank" onclick="var w = window.open('about:blank'); w.opener = null; w.open('http://www.chairworks.com/'); return false;">http://www.chairworks.com/</a>
一些注意事项:
- 我将
href
属性留给未启用JS的用户(你猜怎么着!目标网站也不会有JS!;),或者像搜索引擎这样的网络爬虫(只有那些不关心JS的东西,虽然
) - 在重定向到目标网站之前,您可以通过重置新窗口的
window.opener
属性来切断反向链接。 - 并且打开目标网站后,有一个
return false;
可以防止正常的浏览器使用href
和target
属性。
- 无法将数据从firebase获取到我的html页面
- 角度图表;t显示在我的页面中
- 将当前时间添加到我的页面上的特定部分
- 我希望只有在我滚动页面后才能显示我的返回页首图标
- 如何在我的页面上嵌入市场表单
- 如何使用特定大小的浏览器窗口打开我的页面
- 在非我的页面上重新加载CSS
- 如何创建更好的方式来维护基于我的代码访问的最后一个页面
- 页面在我的javascript执行后重新加载,我不希望它这样做
- 如何检查Json文件更新,如果更新了,则用更新的数据刷新我的页面
- 为什么我的javascript脚本在页面加载时运行,而不是使用onclick
- 为什么我的html页面没有在<ui视图>
- datepicker()在我的页面中无法使用jquery
- 为什么当我在带有锚点的页面之间移动时,Rails不重新加载我的javascript文件
- 如何在不影响网站页面速度的情况下在我的网站上使用谷歌字体
- 如何使用XMLHttpRequest()不断地将数据发送到我的网站中的另一个页面
- 搜索按钮谷歌地图在我的vf页面上不起作用
- 使用 JavaScript 在我的 html 页面中放大图像
- 如何使我的javascript在页面加载后继续执行
- 访问页面 我的 JavaScript 对象中的全局 JavaScript 变量