2016-09-20 9 views
1

特定のページで注入スクリプトを実行するChrome拡張機能があります。クロムエクステンションはページ内の画像にどのようにアクセスしますか?

ユーザーがそこに着陸したときにページから画像を取得し、ページのイメージホストへの別のラウンドトリップを行わずに画像をリモートストレージにプッシュしたいとします。

これは可能ですか?

私はブラウザがイメージをキャッシュに一時的に格納すると仮定しますが、ドキュメントからアクセスする方法は明らかではありません。

ETA:ありがとう、私はキャンバスを使用してイメージをエンコードするb64に精通しています。残念ながら、私が見つけたすべてのスニペットは、imgがキャッシュまたはサーバから来ているかどうかを判断するブラウザに依存しています。&それは私が目指しているものではありません。

+0

はい、[JavaScriptで画像データを取得しますか?](http://stackoverflow.com/questions/934012/get-image-data-in-javascript) –

+0

重複してポリシングを行うことに感謝しますが、リンクしたものは、私が避けようとしていることを具体的に行う方法、つまりサーバーから画像を取得する方法を説明しています。 ブラウザが画像要求をキャッシュに転送することを願っていますが、それを制御する方法はありません。 – Brandon

+0

現在、クロムにキャッシュされたファイルにアクセスするためのAPIはありません。 – jsxqf

答えて

0

マニフェストにweb_accessible_resourcesを追加してみてください。与えられたドキュメントに記載さ

{ 
    ... 
    "web_accessible_resources": [ 
    "images/*.png", 
    "style/double-rainbow.css", 
    "script/double-rainbow.js", 
    "script/main.js", 
    "templates/*" 
    ], 
    ... 
} 

さらに、::与えられたサンプルコードで

リソースがウェブにアクセス可能としてリストされていない限り、拡張リソースへのWeb原点からナビゲーションはブロックされます。これらのコーナーケースに注意してください。

  • 拡張子は、Webアクセス、そのような要求もブロックされていないリソースへのパブリックリソース要求をリダイレクトする**webRequest**または**declarativeWebRequest** APIを使用する場合。
  • Webアクセスできないリソースがリダイレクト拡張によって所有されている場合でも、上記は当てはまります。

希望します。

+0

これは、「コンテンツスクリプト」が拡張アセットにアクセスすることを許可しているようです。私の目標は逆の並べ替えで、拡張機能からブラウザキャッシュされたアセットにアクセスすることです。このAPIはこれを実現できますか?私が考えることができるのは、拡張機能が 'target.example.com/images/ * 'を使用して、これらの画像をブラウザのストレージに格納し、すべてのタグをストレージにリダイレクトしましたが、これらのAPIのほとんどはわかりません。 – Brandon

関連する問題