問題タブ [respond.js]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Respond.js と LESS.js をうまく連携させるにはどうすればよいですか?
LESS.js と @media クエリを使用してレスポンシブ レイアウトを作成すると、Respond.js が機能しません。誰もそれを機能させる方法を理解したことがありますか?
jquery - modernizr.load経由でrespond.js asyncをロードすると遅いですか?
Modernizr.load() メソッドを使用して、ブラウザー (つまり) がメディア クエリを理解するかどうかをテストし、そうでない場合は、respond.js ライブラリを読み込みます。
ただし、modernizr.load メソッドを介して Respond.js をロードすると、FOUC が発生しますが、インライン スクリプト メソッドでは発生しません。
modernizr.load メソッド:
インライン方式:
どうしてこんなことに?非同期メソッドの方が高速であってはなりませんか? または、スクリプトがDOMをブロックし、スクリプトがロードされるまで待機しているため、インラインメソッドの方が優れています...?
javascript - Webサーバーなしでrespond.jsを機能させる方法
私はウェブサイトでrespond.jsのバリエーションを使用しています。IE6-IE8などに必要です。これがソースコードです。http://kl1p.com/HGv/2
Webサーバーで実行していたとき、問題はありませんでした。問題は、このプロジェクトでは手を縛られており、どのような種類の Web サーバーも使用できないことです (長い話)。
このコードを Web サーバーなしで機能させる方法はありますか? 私はこれを実現します:
なぜそれが機能しないのかの暗示です。これを機能させる他の方法はありますか?
私が気づいたことの 1 つは、サーバーなしでクロムで動作することです。ただし、IE8にはありません。
これは不可能な作業かもしれませんが、少なくとも質問する価値はあります。
javascript - Respond.jsがクロスドメインで機能しない
RespondのCDN/Xドメインセットアップを機能させるのに問題があります。
私はCDNからすべてのアセットを提供することから始めました:
すべてのアセットが同じドメインから提供されているため、理論的にはこれで機能するはずです。ただし、IE8はメディアクエリのサポートを適切に受けていませんでした。そこで、RespondのCDN / X-Domain Setupを調査し、<head>
セクションを次のように修正しました。
それも失敗したとき、私はこれに私の<head>
セクションを修正しました:
これを機能させるために他に何を実際に試すことができるかわかりません。CDNを使用していないローカル開発環境では正常に機能しますが、ライブ環境ではこのRespond.js CDN/Xドメインセットアップは機能しません。CDNアセットに追加されたキャッシュバスタークエリ文字列に関連している可能性がありますか?すべてのアセットが同じドメインから提供されているのに、元の例が機能しないのはなぜですか?
internet-explorer - Respond.JSがIE8で機能しない
何らかの理由で、応答JSが機能していないようです。IE 8のメディアクエリを使用して、さまざまなサイズのモニターの背景画像を変更しています。IE 8では、背景はなく、単色だけです。
コードは次のようになります。
メディアクエリは次のようになります。
上記のコードがIE8で機能しない理由はありますか?IE 8メディアクエリを機能させるために使用する必要がある別のJSはありますか?
注:html5-shivは機能しているようです。ライブWebサーバーでテストしています。
javascript - CSS メディア クエリをサポートしていないブラウザで Javascript を使用する
私はプロジェクトに取り組んでおり、メディア クエリを使用してレスポンシブ レイアウトへのさまざまなアプローチを研究しています。私が考えてきた多くのことの 1 つは、それらをサポートしていないブラウザー、特に Internet Explorer バージョン 5.5 から 8 ( source ) と、 css3-mediaqueries.jsやresponseなどのオプションを使用して Javascript をフォールバック メソッドとして使用することです。 js .
2 つのうちどちらを使用するのが最適かを知りたいわけではありませんが、それらを使用する必要性がどれだけあるかを疑問視しています。
私が現在見ている方法は、ハンドヘルド デバイス (モバイルまたはタブレット) を使用している場合、メディア クエリをサポートするブラウザーを使用している可能性が最も高いということです。おそらく、これらのデバイスのブラウザーのほとんどは最新のものです。メディアクエリを念頭に置いて構築されました。したがって、ユーザーが古い IE ブラウザーで Web サイトを表示している場合、(理論的には) デスクトップ サイズのモニターを備えたデスクトップ コンピューターを使用している可能性が高くなります。つまり、css ファイルのベース グリッドのデフォルトが表示されるということです。そのため、何らかの理由でハンドヘルド サイズの画面を備えた古いバージョンの IE を使用している誰かをサポートしようとする大きな必要性はないと思います。
しかし同時に、これらの Javascript ファイルの必要性がなければ、それほど多くのサイトで使用されないでしょう。それらの必要性を私が見ることができる唯一の理由は、メディア クエリを読み取らないブラウザのためであり、メディア クエリを読み取ろうとすると問題が発生し、レイアウトにエラーや矛盾が発生する可能性があるためです。
誰かがそれに光を当てて、なぜそれらを使用する必要があるのか をよりよく理解するのに役立つかどうか疑問に思っていました.おそらく私が何かを見逃しているからです。
html - IE8 セルフクロージング HTML5 タグ
メディア クエリを認識するために、respond.js を使用して IE8 以下を取得しています。これは長い間問題なく機能していましたが、現在 IE8 は HTML5 タグを自動的に閉じているようです。Respond.js が呼び出されているかどうか。
だから私は次のようなものを得ています:
IE10 で F12 ツールを使用してテストしています。
html - Respond.js は Internet Explorer 7 では機能しませんが、H5BP の例は機能します
このH5BPの応答例は、Internet Explorer 7、Internet Explorer 8、および Internet Explorer 9 でうまく機能しますが、自分のプロジェクトで H5BP を使用すると、Internet Explorer 7 でのみ機能しません。また、H5BP を省略して、純粋に html5shiv + Respond.js (selectivzr.js も使用) を使用しようとしましたが、同じ問題が発生します (Internet Explorer 7 では機能しません)。また、JavaScript/コンソール エラーも表示されません。
css3 -mediaqueries.jsを試してみると、Internet Explorer 7、Internet Explorer 8、Internet Explorer 9 で問題なく動作することがわかりましたが、トランジション (メディア クエリの読み取り) が 1 秒近く遅れていることに気付いたので、使用したくありません。それ。Respond.js ははるかに高速です。
Respond.js ページで「クロスドメイン/CDN の問題」を読み、テスト プロジェクトがサブドメイン ルート (たとえば、subdomain[dot]mydomain[dot]tld/) にあるため、これが問題である場合Internet Explorer 8 と Internet Explorer 9 では正常に動作するのに、Internet Explorer 7 では動作しないのはなぜですか?
Internet Explorer 7 で機能しないということは、Internet Explorer 7 でのみ列が折りたたまれず、メディア クエリが読み取られないことを意味します。
私はhtml5shiv.jsとrespond.jsでinitializrレスポンシブデモをダウンロードしましたが、それは私のサブドメインでうまく機能するので、「クロスドメイン/ CDNの問題」は問題ではありません:/
Internet Explorer で、「保護モードを有効にする」を無効にしましたが、動作するようになりました。しかし、このセキュリティ設定が有効になっているにもかかわらず、オンラインの例 (H5BP および initializr) が機能するのはなぜでしょうか?
これは私が行った最後のテストのHEADです:
media-queries - Enquire.js + Media.match + Respond.js
Enquire.js をレガシー ブラウザで動作させようとしています。ドキュメントのディープサポートメソッドを使用しています:
これに関する問題は、initializr.com の Modernizr+Respond を使用しているため、テストは常にパスすることです。これにより、IE8/9 の enquire.js で JS エラーが発生します。
Respond.js を削除してプレーンな Modernizr を使用するだけで、テストが失敗し、Media.match が読み込まれ、JS エラーが解決されます。ただし、IE8 では Media Query のサポートが失われます。
すべてを連携させるための最良の方法は何ですか? Modernizr経由でMedia.matchと同時にrespond.jsを読み込んでみました。最初にロードすると、以前と同じ JS エラーが表示されます。2 番目に読み込むと、メディア クエリが機能しません。また、Media.match の INSTEAD をロードしようとしましたが、JS エラーが返されます。
ありがとう。
編集:
これを投稿した直後に、inquire 1.5.6 にロールバックし、Respond.js と shouldDegrade オプションを使用し、Modernizr テストは使用しませんでした。IE8/9 では JS エラーは発生せず、これまでのところすべて正常に動作しているようです。
これを 2.0 で動作させる方法があるかどうか、または今のところ 1.5.6 に固執する必要があるかどうかを知りたいですか?