常識なのかも知れないけれど……覚え書きとして。
var c=document.createElement;
としたとき、
/*【1】*/ var link=c('a');
と
/*【2】*/ var link=c.call(document,'a');
のどちらの呼び出し方を受け付けるか、という話。
javascript:(function(c,n,e){try{c('a');n+=1}catch(e){}try{c.call(document,'a');n+=2}catch(e){}alert(n.toString(2)+'B')})(document.createElement,0)
のようなブックマークレットを手元のブラウザで実行して試してみたところ、次のような結果に。
ブラウザ | 【2】 | 【1】 |
---|---|---|
IE6(IE7も多分) | × | ○ |
IE8 | ○ | ○ |
Firefox 3.6.16 | ○ | × |
Google Chrome 10.0.648.205 | ○ | × |
Opera 11.10 | ○ | × |
Safari 5.0.4 | ○ | × |
関連
@10th543 URL で試してみてください。とりあえずうちの環境だとこれで動作しました。
2011-04-21 21:01:51 via Tween to @10th543
@furyutei すみません...動作しませんでした...orz URL
2011-04-21 21:18:46 via Tabtter to @furyutei
@10th543 ありゃ、そうですか何が違うんだろう?うちはAncia v1.0.0 Beta(Unicode) on Windows XP SP3でこんな感じです。 URL
2011-04-21 21:43:42 via Tween to @10th543
@furyutei そのまま bookmarklet を実行しても同じような感じなので IE のバージョンかもです。サイトの仕様が変わる前は IE7 でも動いていたんですが...(^_^;)
2011-04-21 21:54:18 via Tabtter to @furyutei
@10th543 本体の方の心当たりの箇所を修正してみたので、IE7&bookmarkletで試していただけると幸い。
2011-04-21 22:38:57 via Tween to @10th543
2011-04-21 22:48:08 via Tabtter to @furyutei