2012-02-05 4 views
0

JavaScript에서 여러 URL 열기 도구를 만들어서 텍스트 영역의 새 탭에있는 모든 URL을 엽니 다. 이 작업은 정상적으로 작동하며 새 탭의 모든 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> 

:

여기 내 자바 스크립트 코드입니다. 코드 수정을 도와주세요.

어떤 도움을 크게 appriciated됩니다 ..

답변

1

동일한 창 이름을 사용하고 있습니다. 일부 변수 'C'를 OpenURL 함수 외부에 정의하고 window.open을 사용하도록 변경하십시오.

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

대단히 감사합니다. 그것의 완전히 작동 지금 –

0

는 난 당신이 새 탭에서 링크를 열 수 있도록하는 자바 스크립트를 만들 생각 ...이 질문에 구글 검색이 도움이 될 수있는이 post 가져왔다.