問題タブ [browser-feature-detection]
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.
jquery - WordpressページのModernizrテスト/YepNope
過去数時間、私はYepNopeといくつかのModernizrテストを機能させようとしましたが、運がありませんでした。
Modernizrは、ヘッド、jQuery、plugins.js
およびscript.js
ページの下部に(この順序で)ロードされます。特別なことは何もありませんが、呼び出されたすべてのリソースscripts.js
は実行時にすでに利用可能であるため便利です。すべてのスクリプトが正しく読み込まれ、実行中のスクリプトはテストのみです。
フォーム検証のためにポリフィルをロードする必要があるかどうかをテストしたいので、これがテストですModernizr.formvalidationapi
。もちろんModernizr.addTest
、forms-validation
非コア検出がHTML5入力タイプと属性およびと一緒にビルドに含まれていることを確認しましModernizr.load
た。これは基本的にyepnope.js
だから私script.js
の中には、次のようなものがあります。
もちろん、デバッグのためだけにアラートを追加しました。
これをSafari6.0.2とFirefox18.0.2でテストしましたが、どちらの場合も「うん」と続いて「いいえ」と警告するので、どこかにエラーがあると思います。
また、コードをドキュメント対応ラッパーでラップしようとしましたが、何も変更されませんでした。
jQueryはWordpress内で競合モードで実行されないため(「$」は使用できません。代わりに「jQuery」を使用する必要があります)、ドル記号をjQueryに再マッピングするためにこれを含めました。
また、何もしませんでした。
wp_register_script
現時点では、Wordpress自身と関係があると思いますが、WordpressサイトでModernizrテストを使用できるwp_enqueue_script
と思うのでわかりません。
どこが間違っているのですか?
PS:http: //wordpress.stackexchange.comもあることは承知していますが、問題はWordpressではなくスクリプト内にあると考えているため、ここに質問を投稿しました。よろしければ、もちろん質問を投稿することもできます。
javascript - ブラウザごとに異なるブラウザ履歴の処理 / JavaScript ブラウザ機能の検出
Firefox や IE と比べて、Chrome や Safari では履歴閲覧の処理が異なることがわかります。Access Manager で保護されているページにアクセスしようとすると、認証のために Access Manager にリダイレクトされます。Chrome と Safari では戻るボタンをクリックすると前のページに移動しますが、Firefox と IE で同じことをしようとすると、元のページに戻ろうとして、再び Access にリダイレクトされるようです。管理人のページです。つまり、元には戻れません。
Web ページに戻るボタンの機能を複製するボタンがあるため、それを機能させるために次の JavaScript コードを実装しました。
それはうまく機能しますが、さまざまなブラウザーを識別する広く受け入れられている方法は、その機能を検出することであると読んだことがあります。
これを検出できる機能はありますか?
javascript - ウィンドウ間通信のブラウザー サポートを検出する
window.open およびウィンドウ間通信 (新しい「子」ウィンドウが成功/失敗を「親」ウィンドウに伝達する場所) の使用に依存する JavaScript があります。
この (ウィンドウ間通信) は、ほとんどの場合正常に機能しますが、ウィンドウ間通信をサポートしていない一部のブラウザーでは機能しません。例には、Windows PhoneとiPhone の UIWebViewが含まれます。
私は現在、これらのシナリオを検出するためにクライアント側 (javascript ベース)のユーザー エージェント スニッフィングを行っており、別のコード パスにフォールバックして問題を回避しています。
ユーザーエージェントのスニッフィングに代わる方法はありますか?
明確にするために、window.open は機能します (機能するということは、「要求された URL を開く」ことを意味します)。信頼できないのは、 window.opener とpostMessageを使用して「子」から「親」へのウィンドウ間通信を行うことです。
html - HTML5検索入力に対するブラウザのサポートを一貫して検出するにはどうすればよいですか?
複数のブラウザで作業する必要があるHTML5ページに検索入力があります。
search
ブラウザが検索を入力としてレンダリングしたのか、通常の入力としてレンダリングしたのかを確認することで、ブラウザが検索をサポートしているかどうかを検出しますtext
。
これは正常に機能しました-ChromeとSafariはonsearch
イベントを使用し(クリアX
アイコンを押すと起動します)、IEはkeyup
イベントを使用しました(いくつかの追加のチェックはここには示されていません)。
ただし、IE10ではこれが壊れているようです。IE10は(IE9以下のように)とsearch
まったく同じように表示され、タイプ(Chrome / Webkitのように)として返されますが、イベントは発生しません。<input type="text" />
search
onsearch
検索入力のサポートを検出するためのより良い方法はありますか?
この機能のサポートをスニッフィングするための最良の方法は何ですか?
css - 自動ハイフンサポートを検出する方法は?
CSSハイフネーションが利用できない場合にのみ、ハイフネーションポリフィル( hypher.jsやhyphenator.jsなど)を使用したいと思います。
しかし、Modernizrではそのような検出は利用できません。サポートのテストhyphens: auto
は信頼できません。ChromeとMobileSafariの両方が(プレフィックス付きで)サポートしますが、ハイフネーションを行うのは後者だけです。
検出できない機能ですか?
javascript - JavaScript でキーボード フォーカスを設定できるかどうかを確認しますか?
iOS 6.0 Safari では、現在のスクリプトがユーザー アクションに応答して実行されている場合を除いて、JavaScript を使用して (ハードウェア、画面上の) キーボード フォーカスを入力要素に割り当てることはできません。
JavaScript を介してキーボード フォーカスを設定できるかどうかを検出するにはどうすればよいですか? ユーザーエージェントをチェックして?
機能検出が不可能な可能性があります:element.focus()
妙にに設定されています。ただし、オンスクリーン キーボードがポップアップしたり、接続されている場合はハードウェア キーボードがフォーカスされたりすることはありません。document.activeElement
element
javascript - SVG のベクトル効果プロパティの機能検出?
SVG Tiny 1.2では、というプロパティvector-effect
が定義されています。
上記のパスでは、要素がスケーリングされても (たとえばtransform
、親要素の が原因で)、ストロークの幅は常に 2 ピクセルになります。g
このプロパティは、SVG をサポートするほとんどのブラウザーで機能するようですが、IE9 および IE10 では機能しません。
このプロパティを機能検出する方法はありますか?
javascript - Modernizr からのフォント フェイス チェック
Modernizr は、CSS3 font-face サポートを検出します。
http://modernizr.com/download/
font-face
modernizr の外部でテストのソースのみを取得するにはどうすればよいですか?
このテストに関連するファイルがリポジトリにありますが、使用方法がわかりません https://github.com/Modernizr/Modernizr/blob/master/feature-detects/css/fontface.js