1

私は、サイトを閲覧しているときに私自身が使用するために、Webページに小さな変更を加えるためのブックマークレットの作成に取り組んでいます。jqueryを動的にロードするブックマークレットがあり(必要な場合)、問題なくページにアクセスして変更できます。

このページにはいくつかのネストされたiFrame、htmlがあります。変更したいのは、元のページとは異なるドメインを持つiFrame内です。だから私は得る:

Unsafe JavaScript attempt to access frame with URL

ブラウザは、スクリプトの起点として最上部のページを使用しています。これは、起点がブックマークであるため興味深いものです。この制限を回避することは可能ですか?

4

1 に答える 1

1

ブックマークレットのみを使用してこの制限を回避する方法はありません。ブックマークレットを実行すると、現在の(トップ)ページのコンテキスト内で実行されます。制限は「同一生成元ポリシー」と呼ばれますが、originとは、コードが実行されたコンテキストを意味し、コードの出所の起源ではありません。ブックマークレットを実行すると、コードはブックマークから取得されますが、現在のページ内で実行されます。

目標を達成するには、ユーザースクリプトを作成するか、アドオン/拡張機能を作成する必要があります。GreasemonkeyをChromeにネイティブにインストールすると、Firefoxでユーザースクリプトがサポートされます。

于 2012-10-08T19:10:52.013 に答える