現在ブラウザにロードされている Web ページで、ユーザーが必要な jQuery を任意に実行できるプログラム的な方法 (またはブラウザ プラグイン) はありますか?
編集:
私の動機は、ページで jQuery 構文とコマンドを事前にテストしてから、それらをソースに追加したり、実験したページの Web 管理者に微調整を提案したりできるようにすることです。
メイン サイトの jQuery を使用してテストを実行しています。現在は 3.5.1 です: jQuery ダウンロード ページ
現在ブラウザにロードされている Web ページで、ユーザーが必要な jQuery を任意に実行できるプログラム的な方法 (またはブラウザ プラグイン) はありますか?
編集:
私の動機は、ページで jQuery 構文とコマンドを事前にテストしてから、それらをソースに追加したり、実験したページの Web 管理者に微調整を提案したりできるようにすることです。
メイン サイトの jQuery を使用してテストを実行しています。現在は 3.5.1 です: jQuery ダウンロード ページ
Chrome のコンソールを使用して実行できます。Chrome を使用している場合は、ページを右クリックし、[要素の検査] をクリックします。「コンソール」タブに移動し、実行してみてください$ === jQuery
。エラーが発生せず、結果がtrue
の場合は、jQuery を使用しています。
そうでない場合は、次を実行して jQuery をページに追加します。
var body = document.getElementsByTagName("body")[0];
var script = document.createElement('script');
script.type = "text/javascript";
script.src = "http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js";
body.appendChild(script);
これらのコマンドを実行した後、jQuery は任意の Web ページにロードされ、コンソールで使用できるようになります :)
上記のコードは、JavaScript コンソールを備えたすべてのブラウザーで機能するはずです。
または、ユーザー スクリプト (Greasemonkey や FireQuery など) があり、jQuery がページに含まれていない場合、上記のコードを自動的に実行して jQuery を挿入し、他の人のページを簡単にスクリプト化してハッキングできるようにします。
これは Google CDN を使用し、HTTPs フレンドリーで、1 行で、ラップされています。
(function(){var jQueryVersion="1";var a=document.createElement("script");a.src="//ajax.googleapis.com/ajax/libs/jquery/"+jQueryVersion+"/jquery.js";a.type="text/javascript";document.getElementsByTagName("head")[0].appendChild(a);})()
jQuery のバージョンを指定できますjQueryVersion="2.0.2"
。
すべてのバージョンは、developers.google.com /speed/libraries/devguide にリストされています。
FireQueryは、jQuery を組み込むことができる優れた Firebug 拡張機能であり、そこからコンソールで jQuery を使用できます。
「jQuerify: jQuery を任意の Web ページに挿入できます」
便宜上、Chrome の jQueryを挿入する(そしてそれが存在することを示す) ため、非競合モードでHTTPSページにでもプロトタイプを作成します (プロトタイプがページにも存在するかどうかを示します) 。数年間の経験で何千人ものユーザーによって証明されました。一言で言えば、「時間を節約する」。
jQuery のドキュメントをチェックし、まだ存在しない場合は追加し、<head>
jQuery がスクリプトを介して読み込まれたか、ドキュメントに既に存在する場合は (jQuery を使用して) 通知を表示するブックマークレットを作成しました。このコードをブックマークに追加するだけで、機能を利用できます。
javascript: (function()
{
var body = document.getElementsByTagName("body")[0];
var head = document.getElementsByTagName("head")[0];
var el = document.createElement('div');
el.id = 'jqbkstatusnote';
el.style.position = 'fixed';
el.style.top = '10px';
el.style.left = '10px';
el.style.textAlign = 'center';
el.style.color = '#fff';
el.style.padding = '3px';
el.style.fontWeight = 'bold';
el.style.display = 'none';
el.style.zIndex = '999999999';
el.style.boxShadow = '0px 0px 0px 1px #fff, 3px 3px 1px rgba(0,0,0,0.5)';
if (typeof jQuery != 'function')
{
var script = document.createElement('script');
script.type = "text/javascript";
script.src = "http://code.jquery.com/jquery-latest.min.js";
head.appendChild(script);
waitForJQ();
}
else
{
el.style.border = '1px solid #522';
el.style.backgroundColor = '#744';
el.innerHTML = 'jQuery already exists in this document!';
body.appendChild(el);
jQuery('#jqbkstatusnote').fadeIn().delay(1000).fadeOut(function(){jQuery(this).remove();});
}
function waitForJQ()
{
if (typeof jQuery != 'function')
{
window.setTimeout(waitForJQ, 100);
}
else
{
el.style.border = '1px solid #235';
el.style.backgroundColor = '#457';
el.innerHTML = 'jQuery added to document!';
body.appendChild(el);
jQuery('#jqbkstatusnote').fadeIn().delay(1000).fadeOut(function(){jQuery(this).remove();});
}
}
})();
firefox での開発では、 FirebugをFireQueryで使用できます。
これをチェックしてください:
jQuery ブックマークレット ジェネレーター http://benalman.com/projects/run-jquery-code-bookmarklet/
eval
渡された任意の文字列を実行しますが、その使用法が「適切」である場合は争われます。
eval('$(function() { alert("hello"); }');
ドキュメントの準備ができたときにアラートが表示されます (eval
が呼び出される前に jQuery がソースされている場合)。