如何从弹出窗口创建超链接

How can I make a hyperlink work from a popup window?

本文关键字:窗口 创建 超链接      更新时间:2023-09-26

我需要在用window.createPopup();打开的弹出窗口中指定链接。

但如果我点击一个链接,什么都不会发生。浏览器似乎忽略了href属性。

<a href="test.html">test</a>

点击此链接不会重定向到"test.html"-不会发生类似href="#"的情况。

请不要"不要使用这个方法,因为它只是IE"评论

我读过,我需要指定一个目标。

如何使我的链接正常工作?

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);