0

私は Codeigniter を使用していますが、ユーザー エージェント ライブラリを使用して、ユーザー デバイスがモバイルかどうかを知ることができることに気付きました。これに基づいて、同じ URL を持つ 1 つまたは別のビューをロードできます。このようなもの:

$this->load->library('user_agent');
$data = array (
     //some data
);
if (!$this->agent->is_mobile()) {
     $this->load->view('test_view',$data);
}
else {
    $this->load->view('test_view_mobile',$data);
}

まあ、それは完全に機能し、これを使用します:

  • CSS メディアクエリを配置する必要はありません。モバイル CSS をレスポンディエント ビューに配置するだけです。
  • タッチ イベントなどのモバイル ユーザーの例外を追跡する必要はありません。
  • デスクトップ デバイスよりも小さな画像を読み込むことができます。画面サイズが小さいからです。

これらは私が実現した長所です。しかし、短所はどうですか?このプラクティスを使用して何か問題や問題はありますか?

4

2 に答える 2

2

これを使用しない理由は次のとおりです。ライブラリが完全に機能していても、常に新しいデバイスが登場します。デバイスが認識されない場合は、フル スクリーン バージョンが表示されます。

また、チームがあり、すべてのデバイスが認識されている場合でも、同じページに対して 2 つの異なるコンテンツ リソースを作成していることになります。これは、コンテンツとリソースが変更されると、2 つの異なる場所で変更する必要があることを意味します。そして、これには検索エンジンの問題があります。

これらの問題のすべてが、フロントエンドのレスポンシブ ライブラリが非常に人気がある理由です。これらの問題を処理し、タブレットでのサイト コンテンツの動作を改善します。Twitter Bootstrap は群を抜いて最も人気があります。http://getbootstrap.com https://github.com/twbs/bootstrap

twitter ブートストラップの詳細については、ブートストラップ 2 とブートストラップ 3 (最新バージョン) の間に大きな変更があることに注意してください。

于 2013-10-11T23:35:22.587 に答える
-1

短所は次のとおりです。ドキュメントは最悪です。

  • CodeIgniter の初心者である私にとって、何$thisを指しているのかは不明です。
  • モバイルデバイスとは正確には何ですか?
  • どのモバイル デバイスが知られていますか?
  • 特定のモバイル デバイスをテストするには、関数にどの引数を渡す必要がありますか?
  • 'iphone'例の関数に渡されているのを見てきました。これにはすべてのiPhoneが含まれますか、それとも関数が作成された時点で利用可能なものだけですか?
  • 関数が を返したときに、クライアントについてどのような特徴を想定できますtrueか?
于 2013-10-11T22:34:20.700 に答える