angularjs
とbootstrap
のアプリを作成しました。コンテンツはバックエンドによって提供されます。また、動的画像がリンクとして機能します。彼らはバックエンドから要求されることがありますwidth
サイズが異なります。ウェブサイトの画面サイズに基づいてバックエンドから画像をリクエストする方法は?
質問:のバックエンドからデータを要求する前に、ユーザーの画面を検出するにはどうすればよいですか?max-width
?バックエンドがより小さなイメージへのリンクで応答するように?
angularjs
とbootstrap
のアプリを作成しました。コンテンツはバックエンドによって提供されます。また、動的画像がリンクとして機能します。彼らはバックエンドから要求されることがありますwidth
サイズが異なります。ウェブサイトの画面サイズに基づいてバックエンドから画像をリクエストする方法は?
質問:のバックエンドからデータを要求する前に、ユーザーの画面を検出するにはどうすればよいですか?max-width
?バックエンドがより小さなイメージへのリンクで応答するように?
HTMLはリクエストによって画面オプションを送信しません。フロントエンドに隠しフィールドを作成し、必要な値でサーバーに送り返す必要があります。バックエンドが私が知っているとにかく画面の幅を計算する方法は他にありません。
The <picture>
elementあなたはメディアクエリに基づいて異なるコンテンツの画像をロードすることができます参照してください。
<picture>
<source
media="(min-width: 650px)"
srcset="images/kitten-stretching.png">
<source
media="(min-width: 465px)"
srcset="images/kitten-sitting.png">
<img
src="images/kitten-curled.png"
alt="a cute kitten">
</picture>
深い読み:あなたはビューポートのサイズを取得することができますjqueryのを使用して
しかし、これは静的に既知の画像に対してのみ有効です。書かれているように、私が要求するサイズで、バックエンドから動的に画像を取得します。 – membersound
。
var viewport = $(window).width();
$('#viewportSize').html(viewport);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="viewportSize"></div>
非常に低い場合に画面サイズを知りたい場合など、 '$(window).width()<320'をチェックするだけでは十分ではないでしょうか?または、div要素を使用することをお勧めしますか? – membersound
フロントエンドが幅を計算し、バックエンドへのコンテンツに対するGETクエリでこの値を送信することが十分であろう。 – membersound