我也在用 HTML 和 Javascript 制作一个多网址开启器。我遇到一些问题,HTTP 链接正在打开,但 HTTPS 链接没有。任何人都可以帮我吗?这是代码。
function open_all() {
var urls = document.getElementById("list_urls").value;
var urls = urls.split('\n');
var totalno = urls.length;
var s;
for (var i = 0; i < totalno; i++) {
s = urls[i];
if (s) {
if (s.substr(0, 7) != 'http://') {
s = 'http://' + s;
}
window.open(s);
}
}
return false;
}
<form method="post" action="">
<br />
<textarea name="list_urls" id="list_urls" cols="60" rows="20"></textarea>
<br />
<br />
<input value="Open URLs" class="submit" type="button" onClick="open_all();">
<br />
<input type="reset" value="Reset!">
<br/>
</form>
提前致谢
最佳答案
问题是因为您当前的代码会将 http://
添加到以 https://
开头的任何 URL 的开头。您需要更改您的逻辑,以便它检查 URL 开头的 https://
以及 http://
。您还可以稍微整理一下逻辑并使用 trim()
来确保该行不仅仅是空格。试试这个:
function open_all() {
var urls = document.getElementById("list_urls").value.split('\n');
for (var i = 0; i < urls.length; i++) {
var url = urls[i];
if (url.trim()) {
if (s.substr(0,7) != 'http://' && s.substr(0,8) != 'https://')
url = 'http://' + url;
window.open(url);
}
}
return false;
}
另请注意,您的浏览器的弹出窗口阻止程序可能会遇到问题,阻止您如此快速地创建如此多的窗口。
关于javascript - 如何在 html 和 javascript 中制作多个 url opener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36790031/