Javascript-到根域的URL的修剪数组

问题描述 投票:1回答:1

我正在开发一个chrome扩展程序,该扩展程序可以复制浏览器中所有标签页的网址。问题是我只能在所有数组中修整一个URL。有没有办法我可以在弹出窗口中输出所有根域?提前感谢

标签网址的示例

youtube.com/asdwea/asdsa
google.com/asdwew
facebook.com/qwea/asd

弹出的结果应该是

youtube.com
google.com
facebook.com

popup.html

<html>
<script src="popup.js"></script>
<body>
  <div id="result"></div>
  <div id="count"> all</div>
  </body>
</html>

popup.js

chrome.windows.getAll({populate:true}, getAllOpenWindows);
function getAllOpenWindows(winData) {

  var tabs = [];
  for (var i in winData) {
    if (winData[i].focused === true) {
        var winTabs = winData[i].tabs;
        var totTabs = winTabs.length;
        for (var j=0; j<totTabs;j++) {
          tabs.push(winTabs[j].url+ "</br>");

        }
        var domain = tabs[1].replace('http://','').replace('https://','').split(/[/?#]/)[0];
    }

  }
  document.getElementById('count').innerHTML = tabs.length;
  document.getElementById('result').innerHTML = domain;

}
javascript arrays
1个回答
0
投票
function getAllOpenWindows(winData) {

  var tabs = [];
  for (var i in winData) {
    if (winData[i].focused === true) {
        var domainStr = "";
        var winTabs = winData[i].tabs;
        var totTabs = winTabs.length;
        for (var j=0; j<totTabs;j++) {
          var str = winTabs[j].url+ "</br>";
          tabs.push(str);
          domainStr += str;
        }
        domainStr = domainStr.replace('http://','').replace('https://','').split(/[/?#]/)[0];
    }
  }
  document.getElementById('count').innerHTML = tabs.length;
  document.getElementById('result').innerHTML = domainStr;

}

我认为您需要连接所有字符串,此处为domainStr。由于您的问题与split功能无关,因此我没有检查.replace('http://','').replace('https://','').split(/[/?#]/)[0];是否有效。

© www.soinside.com 2019 - 2024. All rights reserved.