我正在开发一个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;
}
答案 0 :(得分: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];
是否有效。