由于 真的 笨重的CMS的限制,我无法使用
target="_blank"
在新窗口中打开链接。所以我认为我唯一真正的解决方案是将链接指向一个中间页面,打开一个新窗口,然后将当前窗口重定向回原始页面......所以像这样:
window.open ("http://www.NewPage.com/");
window.location = "http://www.OldPage.com/";
当然,大多数浏览器都会阻止window.open方法...所以我的选择是什么?当然,有一些聪明的Javascript技巧可以解决这个问题。
答案 0 :(得分:1)
没有选择。你不能这样做,而且有充分的理由。
当调用它的代码处理类似"点击"的事件时,浏览器只允许window.open()
工作。在这种情况下,浏览器假定页面提供可点击的元素,并且用户知道那里是弹出窗口。如果一个页面只是从一些上下文(例如直接脚本代码)或者准备好的"中调用window.open()
来获取新窗口。或者"加载"事件处理程序或XMLHttpRequest回调,然后浏览器假定弹出窗口可能是令人讨厌的东西。
有些浏览器允许用户放宽这些规则,但您的代码无法强制执行此规则。
答案 1 :(得分:0)
你可以在页面上注入iframe并将其放在所有内容上,但我真的不推荐这个。
浏览器将在一天结束时控制是否允许window.open
,所以我不打算尝试找到解决方案。