我需要在弹出窗口中指定用window.createPopup();
打开的链接。
但是,如果我点击一个链接,没有任何反应。看来,浏览器会忽略href
属性。
<a href="test.html">test</a>
点击此链接不会重定向到“test.html” - 没有任何事情会像href="#"
那样发生。
请不要“不要使用此方法,因为它只是IE”评论。
我读过,我需要指定一个目标。
如何让我的链接正常工作?
答案 0 :(得分:1)
IE的Popup对象是单独的窗口,具有单独的文档,无法获得焦点且无法导航。我的猜测是你不想导航弹出窗口,你可能想要导航弹出窗口的开启者。您可以使用的一个技巧是在创建弹出对象时设置对父窗口的引用:
var myPopup = window.createPopup();
// Make a connection between the popup and the current window
myPopup.document.parentWindow.owner = window;
然后,在您的HTML或JavaScript代码中,向链接添加事件处理程序,以使所有者窗口导航到指定的href
:
<a href="test.html" onclick="owner.location = this.href;">test</a>
或者,如果您是通过DOM创建链接,只需在创建时添加它们:
var myPopup = window.createPopup(),
link = myPopup.document.createElement("a");
link.href = "test.html";
link.onclick = function () {
// window refers to the main window, not the popup window
window.location = this.href;
}
myPopup.document.body.appendChild(link);