0

特定のウェブサイトのモバイル版が存在するかどうかを確認したい。私の理解では、すべての Web サイトがhttp://m.example.com/にあるモバイル バージョンを持っているかどうかはわかりません。そのため、CURL() リクエストでテストしています。これが私がやっている方法です:

* I send mobile browser headers in curl request, this returns contents of 
the returning URL. 
* If it has a mobile version, then it would return contents of a mobile version site.
* I then check if the content includes @media keyword, if it exists then I assume it has a mobile version.

問題は、css が外部から読み込まれる場合、さらに CURL() リクエストを CSS ファイルにも送信する必要があり、さらに遅くなるということです。私の問題に対する特定の解決策はありますか、またはこのプロセスをもう少し強化できますか?

どんな助けでも大歓迎です。ありがとう。

4

1 に答える 1

3

XY問題のようなにおいがするあなたのアプローチの問題は、それが単に信頼できないということです。

この Web サイトには、次のようなモバイル Web サイトの多くの選択肢があります。

1. CSS メディア クエリの使用

この方法の問題点は 2 つあります。まず、すべての CSS ファイルと<link>宣言をスキャンする必要があります。次に、サイトは JavaScript を使用して動的にスタイルシートをページに導入できます。これは、JavaScript パーサーがないため、cURL を使用することは決してありません。

2. (クライアント側) JavaScript を使用したブラウザ スニッフィング、または JavaScript を使用した画面幅スニッフィング

繰り返しますが、この JavaScript は決して実行されないため、その結果が表示されることはありません。

3. サーバー側のコードを使用したブラウザ スニッフィング

cURL リクエストでモバイル ユーザー エージェント文字列を使用して、どこに移動するかを確認できると思いますが、これらの方法はすべてハック的で信頼性がありません。

4. ページは最初からモバイル フレンドリーである可能性があります (@Quentin の功績)

コメントで @Quentin が述べたように、クライアント/サーバー側で追加のチェックを行わなくても、ページをモバイル フレンドリーにすることができます (たとえば、パーセンテージ ベースの値を使用するだけで、メディア クエリを使用しないレスポンシブ デザイン)。

于 2013-10-01T10:56:43.240 に答える