2

アイデアは、単純なブックマークレットを作成することです。質問が重複している可能性がある場合は、見つけられなかったので、親切に指摘してください。

ブックマークレットを使用して現在のページを jquery 対応にし、特定の jquery api を使用しようとしています。

Uncaught SyntaxError: Unexpected token ILLEGAL

上記は、以下のサンプル ブックマークレットを使用して取得したエラーです。

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') );
 });
})()

コンソールで同じコードを 1 行ずつ実行すると、機能します。

前もって感謝します

4

1 に答える 1

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);
})()

私はあなたのコードを少し変更しました (src作成された要素に属性をプロパティとして直接追加し、より古典的な方法で要素scriptを取得し、代わりに使用してすべてのリンクの属性をログに記録します)。headconsole.logalerthref

于 2012-04-07T09:26:57.830 に答える