2012-04-07 1 views
2

간단한 북마크 릿을 작성하는 것이 좋습니다. 질문이 중복되는 경우 친절하게 저를 가리 킵니다. 왜냐하면 나는 찾기에 실패했기 때문입니다.예기치 않은 토큰 오류 : 북마크 렛

북마크릿을 사용하여 현재 페이지 jquery를 사용하도록 설정하고 특정 jquery API를 사용하려고합니다. 내가 같은 코드 라인별로 작동 콘솔에서 실행하면

Uncaught SyntaxError: Unexpected token ILLEGAL

는 IT 위의 오류가 나는 아래의 샘플 북마크

javascript:(function(){ 
var d=document.createElement('script'); 
d.setAttribute('src', 'http://code.jquery.com/jquery-latest.js'); 
document.head.appendChild(d); 
$('a').each(function(){ 
    alert($(this).attr('src')); 
}); 
})() 

를 사용하여 얻을. 사전

+0

아, 아마도 실행했을 때 jQuery가 아직로드되지 않았기 때문일 수 있습니다. 중단 점을 넣으면 더 많은 시간을줍니다. –

+0

@JibiAbraham : 사실, SyntaxError는 발생하지 않습니다. – ThiefMaster

+0

예, 이상적으로는 SyntaxError가 발생하지 않아야합니다. – Dhiraj

답변

1

에서

덕분에, jQuery를 때까지 페이지 대기가 완전히로드 만드는 script 요소에로드 처리기를 추가합니다. 이것은 브라우저에서 일 : 나는 당신의 코드를 변경

javascript:(function(){ 
var d=document.createElement('script'); 
d.src = 'http://code.jquery.com/jquery-latest.js'; 
d.onload = function(){ /* load handler here */ 
    $('a').each(function(){ 
    console.log($(this).attr('href')); 
    }); 
}; 
document.getElementsByTagName('head')[0].appendChild(d); 
})() 

이 조금 (좀 더 고전적인 방법으로 head 요소를 검색, 생성 된 script 요소에 속성으로 직접 src 속성을 추가 console.log 대신 alert를 사용하고 모든 링크의 href 속성을 기록하십시오).