2011-03-24 15 views
0

からwindow.openオリジナルセーフ起動します特定のページ、著者はopenは、機能のための良い名前であるかを決める:効果的window.openを交換し、ブックマークレットの操作を壊す...は、Iで始まる汎用ブックマークレットを、持っているブックマークレット

/* somewhere in global scope */ 
function open() { /* something */ } 

。ブックマークレットの性質上、私はそのような誤動作を防ぐために何もできません。

この場合、元のネイティブwindow.openを回復する方法はありますか? 私の主なブラウザはOperaです。私は本当にそこで動作させたいと思います。

答えて

1
window.constructor.prototype.open 

いいえ、申し訳ありません。あなたは新しいものを得るためにいくつかのハッカーをすることができます:)

var ifr = document.createElement( 'iframe');
document.body.appendChild(ifr);
ifr.contentWindow.open(...)

+0

クール、ありがとう。箱から考えてみると素晴らしいです、私は試作品を掘り起こしていましたが、新鮮なコピーを簡単に手に入れることができました:-) –

+0

そのことは考えていませんでした! 'window.constructor.prototype.open' –

+0

FYI:Firefoxはネイティブmetdodを明らかにする' window.openを削除する 'ことを許可します。 –

関連する問題