9

chrome-extension:// URL を使用して iframe でコンテンツ スクリプトを実行したいと考えています。ドキュメントからコピーした manifest.json に行を追加しましたhttp://code.google.com/chrome/extensions/match_patterns.html

 chrome-extension://*/*

しかし、拡張機能をリロードすると、アラートが表示されます。

Could not load extension from '/work/sirius/extension'. 
Invalid value for 'content_scripts[2].matches[0]': Invalid scheme.

これを機能させる方法はありますか?

4

4 に答える 4

13

いいえ。コンテンツ スクリプト宣言で一致できるのは、、、ftp:およびのみfile:です。http:https:

matchesおよびフィールドのいずれかで無効な URL パターンexclude_matchesは拒否されます (拡張機能をロードしようとするとエラーが生成されます)。

permissionsマニフェスト ファイルのオプションの無効なパターンは無視されます。

拡張機能からタブでスクリプトを実行する場合chrome.extension.getViewsは、バックグラウンド スクリプトで使用します。さらに良いことに、拡張機能のページを相互に効果的に通信できるように設計してください ()

于 2012-04-17T17:56:49.343 に答える
8

私はまったく同じ問題を抱えています.API http://code.google.com/chrome/extensions/match_patterns.htmlを見 てくださいchrome-extension://*/*.

人々を混乱させないように API を更新する必要があります。

于 2012-07-30T19:29:02.963 に答える
7

chrome-extension:Chrome の作成者は、コンテンツ スクリプトをページに挿入する機能を静かに削除したようです。ドキュメンテーションにはまだ機能すると書かれており、chrome-extension:スキームを使用した例も含まれていますが、実際には機能しません。したがってhttp:、「ボックスから」https:動作し、拡張機能のユーザーが拡張機能 (chrome://extensions/) ページでこれを有効にしている場合にのみ機能します。ftp:file:

更新:chrome-extension:上記のドキュメントが更新され、コンテンツ スクリプトをページに挿入する機能については何も述べられていません。

于 2013-08-12T14:37:47.817 に答える
0

chrome-extension:で宣言せずに、iframe html(ページ) に js を挿入できますmanifast.json。挿入された js は Chrome API に直接アクセスできます。

iframe.html:

<!DOCTYPE html>
<html>
<head>
...
</head>
<body>
...
</body>
<script src="iframe.js"></script>
</html>

iframe.js:

console.log(chrome); // {loadTimes: ƒ, csi: ƒ, …}
于 2020-10-22T03:02:17.087 に答える