ブックマークレットで外部ファイルを使う方法

ブックマークレットの長さの制限は508文字だそうです。
複雑なものを作ると超えてしまうかもしれません。

このような場合はJavaScriptの本体を外部のファイルにする方法を使うとよいです。

javascript:(function(){var%20url='http://xxxx/bm.js';var%20d=document;var%20e=d.createElement('script');e.src=url;d.getElementsByTagName('head')[0].appendChild(e);})();

改行を入れて見やすくしたのが次です。

javascript:(function(){
var url='http://xxxx/bm.js';
var d=document;
var e=d.createElement('script');
e.src=url;
d.getElementsByTagName('head')[0].appendChild(e);
})();

まずJavaScriptのファイル(bm.js)を適当な所に置きます。
このファイルを参照するscriptタグを作り、headタグの中に置く、というようなことをやっています。
これで任意のページに対してJavaScriptが実行されることになります。
例えば「bm.js」として

alert("test");

と書くとブックマークレットの中にはそのような命令はないのに実行すると「test」というアラートが表示されます。

「ブックマークレットを配布したのだが、修正したい」というようなときも、ブックマークレットそのものは変えず、参照する外部ファイルを修正すれば済む、というような使い方もできます。

コメント

タイトルとURLをコピーしました