0

Firefox のブックマークレットで JS コードを実行しようとしています。ポイントを証明するための基本的なコードを次に示します。

window.setTimeout( function() {alert('i ran');}, 1000 );

setTimeout を含むコードを実行すると、ページ全体が、通常はコンソールに記録されるカウンター値に置き換えられます。

この出力をキャッチして、これを停止する方法はありますか?

ありがとう!

4

2 に答える 2

5

次のことを試してください。

javascript:(window.setTimeout(function() { alert('i ran'); }, 1000));void(0);
于 2012-07-06T11:20:59.337 に答える
2

アドレス バーでプロトコルを使用する場合javascript:(すべてのブックマークレットが行うことです)、ブラウザーはdocument.write、戻り値が真実である場合は何でも実行します。

setTimeout呼び出しは常にタイマーの番号を返します。これを修正するには、void(0);like エポックを追加するか、私が好きなようにIIFEでラップします。

(function() {
    window.setTimeout( function() {alert('i ran');}, 1000 );
})();
于 2012-07-06T11:53:55.830 に答える