javascript - 如何在 html 和 javascript 中制作多个 url opener

标签 javascript jquery html css

我也在用 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/

相关文章:

javascript - 如何在javascript中将String转换为long?

javascript - Codeigniter - 打印网页时遇到问题

javascript - 从 javascript 使用动态添加的 html 对象时出现问题

更改时的 Jquery 不会针对动态内容触发

jquery - 如何检查 jquery 中 div 的显示(无/ block )?

html - 渲染带有嵌套在其他表格中的半径边框的 html 表格单元格时的 IE 间隙

javascript - 在此网站上运行的交互式动画角色。这个怎么做?

javascript - DataTables - 从不同 JavaScript 文件中创建的 HTML 表中删除 DataTables

python - Pandas DataFrame 到 HTML : Formatting the values to display centered

javascript - 通过 addDomListener 方法中的初始化函数传递变量