0

Chrome/Firefox (ctrl+t) で新しいタブを開くと、デフォルトで一種の「ワークベンチ」ページが開きます。

ここに画像の説明を入力

私は、次の URL を持つ非常に簡単な bookarklet を持っています。

javascript:location.href="http://google.com"

「通常の」ページから開いた場合は完全に機能しますが、「ワークベンチ」モードでブックマークをクリックしてもまったく反応しません (Chrome と FF の両方)。ブラウザの URL はまったく変更されません。(更新:さらに単純なjavascript:alert("test")ブックマークレットでも、このモードでは結果が得られません)

ワークベンチは私がブックマークを開くいつもの場所なので、そこからブックマークレットを開くことができるようにしたいと思っています。

おそらく、問題はブックマークレット定義のその部分に関連しています:

スクリプトは現在のページのコンテキスト内で実行されます。

そして、ワークベンチはおそらく通常の HTML ページに近いものではありません。とにかく、回避策を見つけることができてうれしいです。

PS。もちろん、私の目標はこれよりも洗練されたブックマークレットを作成することですが、機能するものから始めて、この問題に固執したかったのです:-)。

4

2 に答える 2

0

chrome:// ページのセキュリティ チェックにより、新しいタブ ページで問題が発生しています。

アドレスバーに入力された JavaScript URL が CSP をバイパスすることを許可します。これは、Cris がクロム ページのオムニボックス JavaScript URL をセキュリティのためにブロックするために追加した別のセキュリティ チェックです。

ソース

これを修正するには、ブックマークレットで新しいページを作成し、そこに JavaScript を挿入します。ブックマークに保存できる URL の例を次に示します。

data:text/html,<script>alert('This works');</script>

于 2014-02-13T15:55:15.353 に答える