2012-01-26 3 views
0

私はCodeigniter用のより高度なユーザーエージェント検出ライブラリを探しています。 OSタグ、ブラウザID、ブラウザバージョンのショートタグをbodyタグに追加したいので、別のブラウザやプラットフォーム向けのCSSを書くことができる です。Codeigniterのユーザーエージェントライブラリの改善

このように:

<body id="Windows 7 Internet Explorer 9.22.2"> 

どのように応答 "を短縮する" ことができます。今

<body id="Win7 IE9"> 

CIのデフォルトのエージェント検出ライブラリはこれを生産しますか?

これは私が達成するために探していたいです:http://www.contao.org/en/blog/forget-about-browser-hacks-in-contao-210.html

感謝をすべて入力するために!

答えて

1

私はユーザエージェントライブラリが悪いとは思わない。それは単にそれがすることになっていることを行う。
たぶん、あなたは小さなヘルパーを構築したり、ユーザエージェントライブラリを拡張する必要があり、これは本当に簡単な作業(あなたがagent->browser()agent->versionagent->platfrom()などをご覧ください)

Contaoのが言うにもかかわらずである、これらはブラウザのハックです。より良い方法は、あなたのスタイルシートやjavascriptを(この種のハックなしで)適切な方法で構築することです。私はさまざまなブラウザのために異なるスタイルシート(またはブラウザ固有のクラス)を必要としませんでした。

+0

どのようにして1つのssとブラウザ情報がなくなりますか?私はパディングの問題などを避けるためにボイラープレートから始めることができますが、もしあなたがhtml5の機能を使いたいのであれば?古いブラウザでは異なる動作と表示が必要です。モバイル向けに最適化したい場合はどうすればよいですか?メディアクエリはcss3でのみ動作しますか?どのようにユーザーエージェント情報なしでこれらの種類のものに対応できますか? (本物の質問 - ポインタを探して) – WebweaverD

+0

ブラウザの盗聴は非常に悪い習慣です。なぜ私はもっとスタイルシートを使うべきですか?私は現代的な定型的なフレームワーク/パッケージを使用していません。 現在、私はモバイルデバイス向けの大規模なWebサイトを最適化しており、メディアクエリはかなりうまく機能しています(古いデバイスでも)。 古いブラウザでは別の動作をする必要はありませんが、私はこの「html5」誇大宣伝には参加していません。私はすべてのものを使用している、私は(html5ビデオ、いくつかの良いcss3の機能)を使用する必要があり、私のウェブページは古いブラウザで正常に劣化している。 – shaggy

+0

私はメディアクエリーが、ブラウザのスニッフィングの何らかの形におそらく依存しているjavascriptベースのshivなしでie9の下で動くとは思っていませんでした。 – WebweaverD

1

あなたは何をしようとしているのか分かります。 CodeIgniterを使用してこの問題を解決するには、基本的にユーザエージェントライブラリを書き換えて短いユーザエージェント文字列を返さなければなりません(4つのユーザエージェント配列はsystem/libraries/user_agents.phpにあります) )。

-1

試してみてください。この

の$ this - >セッション - >ユーザデータ[ 'user_agentの'];

0

この質問は尋ねられてから1年以上経ちましたが、将来的に誰かを助けると確信しています。ユーザーエージェントの名前は、配列の値を希望のものに変更することができる連想配列形式の./application/config/user_agents.phpファイルで定義されています。

注:設定ファイルの値を変更することは、アプリケーション全体に反映されます。あなたがアプリケーションの特定の領域で変更したい場合は、自分の関数を作成することを提案します。