[ トップ ] [ Advanced/W-ZERO3[es] ]

最終更新 - 2014/03/08

ブックマークレット

あめかじめブックマークに登録しておき、ブラウザを使う上で足りない機能を補ったり、便利にしてくれるのがブックマークレットである。

ブックマークから選択することで動作する。
再読み込みすれば元に戻る。

Opera Mini 5でのブックマークレットの実行は不安定で白いページが表示されてしまうことがある。
なお、Opera Mobile 8.7はブックマークレットを使うことができない。



Opera系列でブックマークレットを使う時の注意点

ブックマークレットはめったに使わないが、いざ使おうとすると使えなかった。
何度登録しなおしてもいつの間にかブックマークレットの記述が途中から消えているのだ。
これはOpera 10やOpera Mobile 10の設定がデフォルトではURLが128文字までに制限されていることが原因だと分かった。

Maximum length of urlを128から1280に変更した。

Opera 12ではデフォルトでかなり多く設定されている。
Opera Mobile 9.51b2にはこの設定項目は無かった。



ブックマークレットの登録の仕方

1・どこでもいいのでブックマークする。
2・ブックマークの編集画面でURLにブックマークレットをコピー&ペーストで張り付ける。
3・分かりやすいタイトルを付ける。

NetFront 4.1やOpera Mobile 9.51b2のリンクのコピーを使うのが簡単。



削除されてしまったページをWayback Machineで見る

Opera 12 ○
Opera Mini 5.1 未確認
Opera Mobile 10 未確認
Opera Mobile 9.51b2 ○
NetFront 4.3 未確認

Windows Mobileは終焉を迎え、削除されてしまったたページが日に日に増えているが、Wayback Machineで見れる場合も多い。

javascript: location = 'http://web.archive.org/web/*/' + location.href



削除されてしまったページをGoogleのキャッシュで見る

Opera 12 ○
Opera Mini 5.1 未確認
Opera Mobile 10 未確認
Opera Mobile 9.51b2 ○
NetFront 4.3 未確認


javascript: location = 'http://webcache.googleusercontent.com/search?q=cache:' + encodeURIComponent(location.href.replace(/^http:\/\//,''));



ユーザーエージェントを表示する

Opera Mini 5.1 ○
Opera Mobile 10 ○
Opera Mobile 9.51b2 ○
NetFront 4.1 ○

サイトに合わせてユーザーエージェントを切り替えているので、どれになっているか確認するのに便利。
ちなみにOpera Mini 5.1はユーザーエージェントの変更はできない。

javascript:(function(){alert(navigator.userAgent);})();



ページの一番下にジャンプする

Opera Mini 5.1 ×
Opera Mobile 10 △
NetFront 4.0 ○
NetFront 4.1 ○

Opera Mobile 10は上部のバーを押すことでページの一番上に戻ることはできるが、一番下に行く機能はない。
Opera Mobile 8.7や9.5ではinput.iniで設定することで使えるようになり多用していた機能だったのだが9.7から使えなくなってしまった。
ページを全て表示し終わった後でこのブックマークレットを使うとページの一番下までジャンプできる。

しばらく使ってみたところ、Opera Mobile 10では重いサイトでは動作しないことがあった。


javascript:(window.scrollTo(0,document.documentElement.scrollHeight));



背景を白、文字を黒にする

Opera Mini 5.1 ×
Opera Mobile 10 ○
Opera Mobile 9.51b2 ○
NetFront 4.0 ○
NetFront 4.1 ○

文字が読みにくいページを読みやすくする。


javascript:(function()%7Bvar%20newSS,%20styles='*%20%7B%20background:%20white%20!%20important;%20color:%20black%20!important%20%7D%20:link,%20:link%20*%20%7B%20color:%20%230000EE%20!important%20%7D%20:visited,%20:visited%20*%20%7B%20color:%20%23551A8B%20!important%20%7D';%20if(document.createStyleSheet)%20%7B%20document.createStyleSheet(%22javascript:'%22+styles+%22'%22);%20%7D%20else%20%7B%20newSS=document.createElement('link');%20newSS.rel='stylesheet';%20newSS.href='data:text/css,'+escape(styles);%20document.documentElement.childNodes%5B0%5D.appendChild(newSS);%20%7D%20%7D)();



ソースを表示する

Opera Mini 5.1 ×
Opera Mobile 10 ○
Opera Mobile 9.51b2 ○
NetFront 4.0 ○
NetFront 4.1 ○

表示できないページもある。

javascript:d=document;c=d.charset||0;i=0;o=d.documentElement;d.write("<pre>"+(o.outerHTML||o.innerHTML).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")+"</pre>");c?d.charset=c:0;void(document.close());



英語のページをGoogleで日本語に翻訳して表示する

Opera Mini 5.1 ×
Opera Mobile 10 ○
Opera Mobile 9.51b2 ○

Opera Mobile 10はGoogle翻訳の検索窓を登録できないようだ。
このブックマークレットを使うと現在表示されているページをGoogleで日本語に翻訳して再表示することができる。
ちょっと書き換えれば他の言語の組み合わせも可能だろう。

ただし、いくつかのサイトのトップページで試してみただけでも、デフォルトで設定されているユーザーエージェントではページの途中までしか表示されないところが2か所あった。
それらのページをちゃんと表示するにはPC用のOperaでアクセスしていると認識されるようにユーザーエージェントを設定する必要がある。


javascript:void(0);void(0);void(0);void(0);void('Add%20this%20text%20into%20the%20code%20to%20suppress%20the%20tooltip%20with%20long%20script');void(0);void(0);void(0);void(0);void(0);void(0);void(0);q=location.href;void(location.href='http://translate.google.com/translate?hl=ja&sl=en&u='+q);



画像を任意の倍率に拡大する

Opera Mini 5.0 △
Opera Mobile 10 ○
NetFront 4.0 ○
NetFront 4.1 ○

Opera Mini 5.0には画像を拡大する機能がなかっため、使っていたブックマークレット。
フォントサイズを変えずに画像だけを拡大できる。

このブックマークレットを実行するとそのページの画像が全て2倍に拡大される。
縦、横それぞれ2倍なので面積で言えば4倍になる。

後ろの方の2を書き換えれば1.5倍など他の倍率も可能。
自分は1.5、2、2.5倍を登録している。
拡大された状態でもう一度ブックマークレットを使えばさらに拡大できる。

例えばこのアメリカ版「ロックマン」のパッケージが酷すぎる件という記事はレトロゲームなどのパッケージの違いが多数貼ってあって面白いのだが、Opera Mini 5.0では画像が小さい。
タップすれば大きな画像が表示されるが、行ったり来たりやタブを使うのは面倒だし、両方を見比べたりしにくい。
これまではこういう場合はOpera Mobile 9.51b2に切り替えていたのだが、このブックマークレットを使うと



このように全ての画像が2倍に拡大され見やすくなる。
ただし、広告画像なども全て拡大されるのでレンダリングが崩れ見にくくなるところもある。
また倍率をどんなに大きくしても画面からはみ出すサイズにはならない。

レンダリングが崩れたりするのは困るので1枚だけ拡大したいという場合は、まずその画像を開く。
リンクになってなくてもタップ&ホールドで開ける。
画像の拡大というのがあるがこれは機能しないので普通は拡大出来ないが、ブックマークレットを使うと



このように拡大される。ブログで多く使われているQVGAサイズのものも画面に合うサイズになる。

また、この画面からは画面をはみ出して拡大可能である。
ただし、はみ出せる領域には限界があり、やや縦長になってしまったり、拡大されない部分が残ってしまったりと不安定な部分もある。

Opera Mini 5自体が不安定なのでブックマークレットを実行しても白い画面が出ることがあり、その場合は戻ってもう一度ブックマークレットを選択すればよいが、何度も白い画面が出てしまうこともある。
なぜか一つ前に表示した別のページが拡大されることも多い。


javascript:(function(){ function zoomImage(image, amt) { if(image.initialHeight == null) { /* avoid losing height information due to integer rounding while zooming out */ image.initialHeight = image.height; image.initialWidth = image.width; image.scalingFactor = 1; } image.scalingFactor *= amt; image.width = image.scalingFactor * image.initialWidth; image.height = image.scalingFactor * image.initialHeight; } for (i=0; i<document.images.length; ++i) zoomImage(document.images[i], 2); })();


画像を2分の1の倍率に縮小する

Opera Mini 5.0 △
Opera Mobile 10 ○
NetFront 4.0 ○
NetFront 4.1 ○

あまり使い道は浮かばないが、出来るので書いておく。面積で言えば4分の1になる。

javascript:(function(){ function zoomImage(image, amt) { if(image.initialHeight == null) { /* avoid losing height information due to integer rounding while zooming out */ image.initialHeight = image.height; image.initialWidth = image.width; image.scalingFactor = 1; } image.scalingFactor *= amt; image.width = image.scalingFactor * image.initialWidth; image.height = image.scalingFactor * image.initialHeight; } for (i=0; i<document.images.length; ++i) zoomImage(document.images[i], .5); })();


[ トップ ] [ Advanced/W-ZERO3[es] ]

inserted by FC2 system