2011-05-16 1 views
0

이것은 현재 북마크 렛 코드입니다.Bookmarklet에 여러 jQ.src가 있습니다.

 
if (1 == 1) { 
    var jQ = document.createElement('script'); 
    jQ.type = 'text/javascript'; 
    jQ.onload=runthis; 
    jQ.src = 'http://www.domain.com/jquery-1.5.2.min.js'; 
    document.head.appendChild(jQ); 
} 

여러 jQ.src를 호출하려고합니다. 나는 이것을 시도했지만 일부 사이트에서는 작동하지 않는다.

이것은 현재 북마크 렛 코드입니다.

 
if (1 == 1) { 
    var jQ = document.createElement('script'); 
    jQ.type = 'text/javascript'; 
    jQ.onload=runthis; 
    jQ.src = 'http://www.domain.com/jquery.js'; 
     jQ.src = 'http://www.domain.com/jquery2.js'; 
    document.head.appendChild(jQ); 
} 

일부 사이트에서는 제대로 작동합니까?

감사합니다.

답변

1

일부 사이트에서 제대로 작동합니까? 나는 당신이 단지 운 좋게도 사이트의 이미로드 된 jQuery를 선택했다고 생각한다. 또한 onload는 당신이 아마도 모두 자바 스크립트 파일이 필요하기 때문에 두 번째에 있습니다

var jQ = document.createElement('script'); 
jQ.type = 'text/javascript'; 
jQ.src = 'http://www.domain.com/jquery.js'; 
document.head.appendChild(jQ); 

jQ  = document.createElement('script'); 
jQ.type = 'text/javascript'; 
jQ.src = 'http://www.domain.com/jquery2.js'; 
jQ.onload = runthis; 
document.head.appendChild(jQ); 

: 당신이 두 개의 자바 스크립트 파일을 추가하려면

어쨌든, 당신은 두 개의 스크립트 태그를 추가해야합니다 runthis 전에로드하십시오.

당신이 jQuery를로드하는 경우 페이지가 이미로드 된 경우, 검사 할 수 있습니다

var jQ; 
if(typeof window.jQuery != 'function') { 
    // jQuery isn't there yet so load it up. 
    jQ  = document.createElement('script'); 
    jQ.type = 'text/javascript'; 
    jQ.src = 'http://www.domain.com/jquery.js'; 
    document.head.appendChild(jQ); 
} 
jQ  = document.createElement('script'); 
jQ.type = 'text/javascript'; 
jQ.src = 'http://www.domain.com/jQuery2.js'; 
jQ.onload = runthis; 
document.head.appendChild(jQ); 

이 너무 좋은 생각을 할 수있는 jQuery.noConflict() 전화를 추가, 페이지가 뭔가를 $ 사용하고있을 수 있습니다 그렇지 않으면 강제로 jQuery가 페이지를 손상시킬 수 있습니다.

+0

당신이 옳았습니다. 이미 JQuery를로드하는 사이트에서 운이 좋았습니다. 두 개의 스크립트를 추가하면 완벽하게 작동합니다. 당신의 도움을 주셔서 감사합니다! – Chris