JavaScript-код для открывания URL - PullRequest
0 голосов
/ 06 февраля 2012

Я создаю Multiple URL Opener в JavaScript, который открывает все URL в новых вкладках из текстовой области. Это работает нормально, и он открывает все URL-адреса в новой вкладке, но проблема в том, что когда пользователь помещает новый список в текстовую область, новые URL-адреса заменяют старые URL-адреса, т. Е. Новые URL-адреса открываются на тех же вкладках, что и открытая старая, заменяя старые сайты.

Вот мой код JavaScript:

<script type="text/javascript">
<!--
function OpenURL(txid) {

    var lines;
    var TA = document.getElementById(txid).value;
    if(document.all) { // IE
        lines = TA.split("\r\n");

    }
    else { //Mozilla
        lines = TA.split("\n");
    }
    for(var i=0; i<lines.length; i++) {



    if(/^([a-z]([a-z]|\d|\+|-|\.)*):(\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-     \uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?((\[(|(v[\da-f]{1,}\.(([a-z]|\d|-|\.|_|~)|[!\$&'\(\)\*\+,;=]|:)+))\])|((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=])*)(:\d*)?)(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*|(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)|((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)|((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)){0})(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(lines[i])) {

    if(lines[i]!=''){
        window.open(lines[i], 'example' + i);
         }
    } else {

   if(lines[i]!=''){
         var openurl="http://"+lines[i];
       window.open(openurl, 'example' + i);
      }
    }

    }
 }
-->
</script>

Я не очень хорош в JavaScript. Пожалуйста, помогите мне исправить код.

Любая помощь будет очень ценна ..

Ответы [ 2 ]

1 голос
/ 06 февраля 2012

Вы используете те же имена окон. Определите некоторую переменную 'C' вне функции OpenURL и измените window.open, чтобы использовать ее.

var C = 1;
function OpenURL( txtid ) {
    ...
    window.open(openurl, 'example' + (C++))
    ...
}
0 голосов
/ 03 августа 2013

Я думаю, вы хотите создать Javascript, который позволит открывать ссылки в новой вкладке. Поиск в Google по этому вопросу принес публикацию .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...