行間を広げるブックマークレットがあるページで動かなくて
使っていたのは以下のもの。
javascript:(function(){ var e = document.body.getElementsByTagName('*'); for(var i=0,l=e.length; i<l; i++) e.item(i).style.lineHeight='1.8'; })();
よくあるタイプだと思う。でもこれだとbody直下にテキストべた書きなページで作用しない。なのでbody要素にもスタイルを設定するコードを追加。
document.body.style.lineHeight='1.8';
でもこれでも動かないページがあった。フレームを使ったページ。どうすれば良いか思いつかなかったので検索した。
するとスタイルを追加 - ブックマークレット - Static Flowerで生成したものがフレームを使ったページでも作用した。しかも前述のものよりも高速に作用する。以下は整形したもの。
javascript:(function(){ (function f(w){ var o,i=0; while(o=w.frames[i++]) try{ f(o) } catch(e) {} w.document.getElementsByTagName('HEAD')[0].appendChild(w.document.createElement('STYLE')).innerHTML='*{line-height: 1.8 !important;}' })(window) })()
- フレームはframesで。
- 多数の要素のスタイルをいじるなら、STYLE要素を追加した方が速い。
あれ、でもなんでtryが要るんだろう。