簡體   English   中英

在同一瀏覽器的另一個選項卡中打開了如何查找URL的區域

[英]how to find a URL is aready opened in another tab of same browser

我想知道是否已經在同一瀏覽器的另一個選項卡中打開了相同的URL,如果需要,我需要發出警報。有人可以幫助我嗎。需要使用javascript

嘗試這個。

    var a = document.getElementById('opener'), w;        
   a.onclick = function() {
   if (!w || w.closed) {
    w = window.open("https://www.fb.com/");

  } else {
    console.log('window is already opened');

  }
  w.focus();
};

這是一個使用簡單的JS和localStorage並使用當前打開的選項卡計數更新DOM的有效解決方案。 它使用存儲事件使所有打開的選項卡/窗口之間的計數保持同步,而無需刷新頁面。

請注意,此解決方案可在一個瀏覽器中檢測給定域的打開的選項卡/窗口的數量,但不會在不同瀏覽器中保持計數。 本地存儲上的Mozilla文檔中:

[localStorage事件]實際上是域中其他頁面使用存儲來同步所做的任何更改的一種方式。 其他域上的頁面無法訪問相同的存儲對象。

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title></title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="robots" content="noindex, nofollow">
<meta name="googlebot" content="noindex, nofollow">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script>
(function() {
    var stor = window.localStorage;
    window.addEventListener("load", function(e) {
        var openTabs = stor.getItem("openTabs");
        if (openTabs) {
            openTabs++;
            stor.setItem("openTabs", openTabs)
        } else {
            stor.setItem("openTabs", 1)
        }
        render();
    })
    window.addEventListener("unload", function(e) {
        e.preventDefault();
        var openTabs = stor.getItem("openTabs");
        if (openTabs) {
            openTabs--;
            stor.setItem("openTabs", openTabs)
        }
        e.returnValue = '';
    });
    window.addEventListener('storage', function(e) {
        render();
    })

    function render() {
        var openTabs = stor.getItem("openTabs");
        var tabnum = document.getElementById("tabnum");
        var dname = document.getElementById("dname");
        tabnum.textContent = openTabs;
        dname.textContent = window.location.host
    }
}());
</script>
</head>
<body>
<div style="width:100%;height:100%;text-align:center;">
    <h1 >You Have<h1>
        <h1 id="tabnum">0</h1>
    <h1>Tab(s) of <span id="dname"></span> Open</h1>
</div>
</body>
</html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM