2012-02-05 39 views
0

我在JavaScript中创建了一个多URL开瓶器,它打开了文本区域中新选项卡中的所有URL。这工作正常,它打开新标签中的所有网址,但问题是,当用户在文本区域放置新的列表时,新的URL替换旧的网址,即新的URL打开在旧的打开替换旧网站。URL开瓶器的JavaScript代码

这里是我的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好。请帮我修改代码。

任何帮助将大大appriciated ..

回答

1

您使用相同的窗口名称。在OpenURL函数之外定义一些变量'C'并更改window.open以使用它。

var C = 1; 
function OpenURL(txtid) { 
    ... 
    window.open(openurl, 'example' + (C++)) 
    ... 
} 
+0

非常感谢你Teemu。它现在完全有效 – 2012-02-05 21:36:57

0

我想你想创建一个JavaScript,使在新标签中打开链接..在这个问题上谷歌搜索带来了这个post 这可能会有帮助。