2016-09-01 11 views
1

私は、レスポンスヘッダー内のいくつかのJSONデータと共にイメージを返すサーバー側のアプリケーションを持っています。ロードされたimgからのJavascript抽出応答ヘッダー

クライアント側では、単純なhtmlページがあります。次のように私はイメージをロード想像:同じページで

<img src="http://www.myserverapp.com/image1" />

を、ページのロード中にブラウザがそのイメージを要求したときに返された応答ヘッダを抽出するために、いくつかのJavaScriptを使用することが可能でしょうか?もしそうなら、どうしたらいい?

代わりに、画像とJSONデータを2つの別々のリソースに分割して、javascriptでデータを別々にリクエストするようにしていますが、画像とJSONの両方のデータがブラウザの画像リクエストの一部であり、パフォーマンスの向上につながり、より合理的なものにすることができます。

ありがとうございます!


EDIT:私は動的にJavaScriptを使用してイメージをロードしたいわけではない - 私はそれを行うことができることを知った後、ヘッダ情報をそのように抽出するが、私は、ブラウザがロードするソリューションを探していますイメージが正常に表示され、次にいくつかのjavascriptコードが遡及的に入力され、ブラウザが作成したイメージリクエストのレスポンスヘッダーが検出されます。

+0

データurisを使用してDOMでイメージソースを設定すると、イメージをJSON内でbase64としてシリアル化できます。しかし、私はむしろ通常の資産としてイメージの負荷を持ち、jsonの光を維持したいと思います。 – Candide

答えて

1

XHR経由でイメージを取得し、任意の応答ヘッダー(like this)を取得できます。

var url = 'https://placehold.it/400x400'; 
 
var proxy = 'https://jsonp.afeld.me/?url='; 
 
var client = new XMLHttpRequest(); 
 

 
client.open('GET', proxy + url, true); 
 
client.send(); 
 
client.onreadystatechange = function() { 
 
    if (this.readyState === this.HEADERS_RECEIVED) { 
 
     console.log(client.getResponseHeader('Content-Type')); 
 
    } 
 
};

注私が原因CORSの問題のために、この例では、プロキシを追加しましたが、あなたはあなたのコードにこれを残すことができます。

+0

ありがとうございます - 私はJSを使用してイメージを動的に読み込むことができますが、私はむしろそれをやりたいと思います。私の質問はおそらく十分ではないと思う。私の編集を参照してください。 – abagshaw

関連する問題