Instagramで画像だけを開く方法

ブラウザで画像を右クリックして「新しいタブで画像を開く」を選択すると画像だけを表示することができます。
インスタグラムだとこれができません。
ソース内にある「https~n.jpg」というURLを探せば表示できますが面倒です。ブックマークレットを使う方法を考えました。 (さらに…)

ルビを削除するブックマークレット

HTMLにはルビ(ふりがな)を付ける仕組みがあります。
青空文庫ではこれを使っています。 (さらに…)

GoogleとBingを相互に遷移するブックマークレット

最近はGoogleよりもBingの方が良いという意見を目にします。
そこでGoogle検索結果が納得できないときに、Bingで検索するためのブックマークレットを考えてみました。

Googleの検察結果のページのURLには「q=言葉」という部分があります。
実行すると、これをBingの検察結果のページのURLに当てはめて表示します。
なお逆にBingの検察結果で実行するとGoogleの検索結果が表示されます。 (さらに…)

右クリックと文字列選択を禁止する方法とそれを無効にするブックマークレット

ウェブページの文字列をコピーされないようにする方法として、右クリックを禁止する方法と文字列の選択を禁止する方法が考えられます。

右クリック禁止

右クリックを禁止するにはHTMLを次のように書きます。

<div oncontextmenu="return false;">テキスト</div>

右クリックをして表示されるメニューを「コンテキストメニュー」などと言いますが、これを無効にします。
「div」でなく「body」にこれを設定するとウェブページ全体で右クリックができなくなります。

文字列選択禁止

文字列の選択を禁止するには次のように書きます。

<div onselectstart="return false;">テキスト</div>

文字列を選択しようとしてもできません。
これも「body」に設定するとウェブページ全体で文字列選択ができなくなります。
※IE限定ですが「unselectable="on"」を使う方法もあります。

サンプルページは次の通りです。

サンプルページ

無効にするブックマークレット

これらを無効にするブックマークレットを考えてみました。

選択可能

ブックマークツールバーまでドラッグしてください。あるいは右クリックからお気に入りに保存してください。

javascript:(function(){obs=document.all;for(i=0;i<obs.length;i++){obs[i].oncontextmenu='return true;';obs[i].onselectstart='return true;';}})()

bodyだけでなく、すべてのタグについて、onselectstartとoncontextmenuに「return true;」をセットします。

なお、ここに挙げた方法がすべてではありません。これら以外にも文字列選択を禁止する方法はあります。例えば「document.onmousedown="return false;"」のようにドキュメントに対してクリックそのものを禁止したりする方法もあります。そのため、すべてのパターンに対応したブックマークレットを作るのはかなり面倒です。頻繁に利用するページならばブックマークレットを使うのは効果がありますが、そうでないならばソースを直に見てしまうのが確実です。

テキストボックスを操作するブックマークレット

テキストボックスを操作するブックマークレットのサンプルです。
これをアレンジすれば色々と使えると思います。
IE、Firefox、Chromeで動作確認しました。

削除

「t0」というIDが付いたテキストボックスを操作します。
テキストボックスのテキストから「bbb」という文字列を削除します。

javascript:(function(){a=document.getElementById('t0');a.value=a.value.replace(/bbb/g,'');})()

追加

テキストボックスのテキストに「bbb」という文字列を追加します。

javascript:(function(){a=document.getElementById('t0');a.value=a.value+'bbb';})()

和暦を西暦に変換して追加するブックマークレット

ウェブページ上にある「平成23年」という文字列を西暦に換算し「平成23年(2011年)」に置換して表示するブックマークレットを作りました。
IE6の文字制限である508文字に合わせたので、寛保元年(西暦1741年)以降に対応します。 (さらに…)

法令等の括弧部分を薄くするブックマークレット

インターネットで法令を見るときには、e-Gov(イーガブ)の法令データ提供システムがよいと思います。総務省のサイトなので信頼できるでしょう。

法令データ提供システム

法律を読むのは面倒なのですが、とりわけ面倒なのは、括弧が多くて長いため、文の構造が分かりにくいところ。
繰り返しを避けたり、正確な表現をしたりするために、必要なのは分かりますが、とにかく読みにくい。
とりあえず、とばして読もうにも、括弧の対応がよく分からない。

そこでブックマークレットを作りました。 (さらに…)

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

ブックマークレットの長さの制限は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」というアラートが表示されます。

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

ブラウザ上の選択された文字列を取得する方法

JavaScriptを使って、ブラウザ上の選択された文字列を取得する方法を示します。
IEの場合は、documentに対して、「selection.createRange().text」を使うと取得できます。
Firefoxの場合は、documentまたはwindowに対して、「getSelection()」を使います。

次は選択された文字列をアラートで表示させる例です。

HTML

<input type="button" onclick="alert_selection()" value="表示">
<p>あいうえお</p>
<p><input type="text" value="かきくけこ"></p>
<p><textarea>さしすせそ</textarea></p>

JavaScript

function alert_selection(){
  x=document;
  y=window;
  if(x.selection){
    t=x.selection.createRange().text;
  }else if(y.getSelection){
    t=y.getSelection();
  }else if(x.getSelection){
    t=x.getSelection();
  }
  alert(t);
}

これを応用すると次のようなブックマークレットを作ることができます。
選択した文字列をGoogleで検索するブックマークレットです。最近のIEには右クリックからGoogle等で検索する機能がありますが、古いIEにはそれがありません。このブックマークレットで似たようなことができます。

選択文字列をGoogleで検索

Internet Explorerならば右クリックからお気に入りに保存してください。

javascript:(function(){x=document;y=window;if(x.selection){t=x.selection.createRange().text;}else%20if(y.getSelection){t=y.getSelection();}else%20if(x.getSelection){t=x.getSelection();};location.href='http://www.google.co.jp/search?q='+encodeURIComponent(t)+'';})();

「Twitterに投稿」用のリンクとブックマークレット

自分のウェブサイトのタイトルとURLをTwitterに投稿するための「リンク」は次のように書きます。

<a href="javascript:(function(){window.open('http://twitter.com/home/?status=' + '〈' + document.title + '〉' + document.location.href)})()">Twitterに投稿</a>

そして、この「リンク」を右クリックしてブックマークに登録するとブックマークレットになります。この場合は自分のウェブサイトでなくても使えます。

Twitterに投稿

古い記事

タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報