2012-03-27 8 views
0

다음 코드 전체를 activate.js라는 자바 스크립트에 넣어야합니다. 어떻게 말해 줄 수 있니? http://domain.com/tyr1.js자바 스크립트에서 자바 스크립트 호출하기

복사합니다 (<script> 태그없이) 텍스트 문서에 내용을 붙여 넣습니다

<script type="text/javascript" src="http://domain.com/tyr1.js"></script> 
<script type="text/javascript"> 
var int = new int({ 
    seconds: 30, 
    markUser: true, 
    markPeriod: 0 
}); 
pop.add("http://www.google.com", "google", "0"); 
pop.add("http://www.yahoo.com", "yahoo", "1"); 
pop.add("http://www.bing.com", "bing", "2"); 
pop.show(); 
</script> 
+0

즉, @Andrew가 제안한 코드를 수동으로 결합하지 않으면 JavaScript 자체에 다른 JavaScript 파일을 포함 할 수있는 메커니즘이 없으므로 원하는 것을 수행 할 수 없습니다. 그것은'script' 엘리먼트로 HTML에서 처리되어야합니다. 그렇다면 activate.js가 잠재적으로 DOM에'script' 엘리먼트를 생성하여 적절한 파일을 요청할 수 있습니다. – MrWhite

+0

고마워요 조쉬, 어떻게 말해 줄 수 있니? – user1289292

답변

0

이 파일을 엽니 다. 복사하여 아래에이를 붙여 넣습니다

var int = new int({ 
    seconds: 30, 
    markUser: true, 
    markPeriod: 0 
}); 
pop.add("http://www.google.com", "google", "0"); 
pop.add("http://www.yahoo.com", "yahoo", "1"); 
pop.add("http://www.bing.com", "bing", "2"); 
pop.show(); 

을 마지막으로, activate.js로 텍스트 문서를 저장합니다. 이것은 내가 생각할 수있는 최선의 방법이다.

+0

js에이 코드가 필요합니다. 나는 그것을 혼합하고 싶지 않다. – user1289292

2

위의 내 코멘트에서 언급했듯이 JavaScript 자체에는 다른 JavaScript 파일을 포함 할 수있는 메커니즘이 없으므로 원하는 것을 할 수 없다. JavaScript 파일은 HTML 스크립트 요소를 사용하여 문서에 포함됩니다.

그러나 우리는 문서에 포함 된 하나의 스크립트 ("active.js")를 작성할 수 있으며이 스크립트는 각 외부 JavaScript 파일에 대한 추가 스크립트 요소를 수동으로 작성합니다. 그러나 HTTP 요청을 추가로 생성하기 때문에 성능 저하가 발생할 수 있습니다.

로드하기 전에 "tyr1.js"요소를 참조하는 "chicken vs egg"시나리오를 피하려면 현재 인라인 스크립트를 외부 파일로 분리해야한다고 생각합니다. 물론

/** 
* Combined JavaScript files (active.js) 
* - Creates script elements for any additional JS files 
*/ 
(function() { 
    var head = document.getElementsByTagName('head')[0]; 

    // Scripts to include 
    var js = [ 
     'http://domain.com/tyr1.js', 
     '/inline.js' /* Change path to where this is located */ 
    ]; 

    // Clone for every external script that needs to be included 
    var jsElem = document.createElement('script'); 
    jsElem.type = 'text/javascript'; 

    // Step through scripts to include 
    for (var i=0; i<js.length; i++) { 
     var newJsElem = jsElem.cloneNode(false); 
     newJsElem.src = js[i]; 

     // Append to HEAD section 
     head.appendChild(newJsElem); 
    } 
})() 

이 스크립트는 문서의 HEAD 섹션에 배치되어야하는 가정

그래서 "active.js"스크립트 같은 일이된다.

+0

고마워요. 나는 그것을 시도 할 것이다. – user1289292

관련 문제