如何关闭由链接点击产生的网页?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何关闭由链接点击产生的网页?相关的知识,希望对你有一定的参考价值。

我有一个带有链接的网页,该链接可打开一个完全不同的新网页。以最简单的形式,前者看起来像

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>

<body>

<div id="div_id" class="page-content">
    <a id="myId" target="_blank" href="myPage.html">Open Page</a>
</div>

<script>
    // this doesnt work, it closes the wrong page
    function closePage(myBoolean)
        if (myBoolean)
            window.close()
        
    
</script>


</body>
</html>

我想编写一个函数来在满足条件时关闭新创建的网页。我上面的代码中显示的内容不起作用,因为它关闭了主网页而不是生成的网页。

我该怎么做?

答案
function myWindowOpen 
  myWindow = window.open("http://www.google.com", “myWindow", "width=250, height=250");


function myWindowClose  
  if (myWindow)  
    myWindow.close();
    myWindow = null;
  

您需要在变量中写入指向新窗口的链接。并且当条件满足时->调用myWindowClose

另一答案

click标记自己处理a事件。因此,您可以调用window.open(url)来返回刚刚打开的窗口的实例。

const link = document.querySelector(`#myId`);
let wndow;

link.addEventListener(`click`, () => 
    // Opens the page and stores the opened window instance
    wndow = window.open(`./myPage.html`);
);

function closePage(myBoolean) 
    if (myBoolean && wndow) 
        wndow.close()
    

您需要从锚标记中删除href属性。

希望有帮助。

以上是关于如何关闭由链接点击产生的网页?的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript如何记录页面点击!

html 点击按钮 加载一个网页

如何在点击时替换可变内容? [关闭]

如何在点击时创建新的 .html 网页? [关闭]

JS控制a标签显示的文本文字的改变,但不产生链接到其他页:如默认的文本是“修改”,点击后变为“关闭”

asp网页中,如何实现点击按钮弹出对话框,然后点击“确定”关闭窗口,点击“取消”返回?尽快,非常感谢!