サイトでcufontsを表示するのにTypekit.comを使用していますが、モバイルブラウザ> = 4.2 iOS以上の場合のみ互換性があります。私はjQueryを使用して、訪問者がiOSを使用しているかどうかをテストし、それを元に特定のコンテンツを表示しました(汗はありません)が、より具体的にする方法を考え、CSSのみを修正するバージョンがiOSバージョン4.2よりも低い場合。これを理解できないようだ...どんな助け?iOSバージョンが4.2以上であることを確認し、結果に基づいてCSSを修正してください
答えて
あなたの4.2+スタイルを1つのスタイルシートに入れます。あなたの<を別のものに入れてください。バージョンを確認し、適切なスタイルシートを<head>
に追加してください。古いユーザーエージェント文字列をテストする必要がありますが、これはほとんどの場合に有効です。この関数は、 "old"スタイルシートへのフォールバックとして0
(iOSでないかどうか、またはiOSでない場合)を返します。
デモ:http://jsfiddle.net/ThinkingStiff/LJrEW/
スクリプト:
var style = '';
if(getOsVersion() >= 4.2) {
style = '<link rel="stylesheet" href="styles/ios.css" />';
} else {
style = '<link rel="stylesheet" href="styles/ios_old.css" />';
};
document.head.insertAdjacentHTML('beforeEnd', style);
function getOsVersion() {
var agent = window.navigator.userAgent,
start = agent.indexOf('OS ');
if (/iphone|ipod|ipad/.test(agent) && start > -1) {
return window.Number(agent.substr(start + 3, 3).replace('_', '.'));
} else {
return 0;
};
};
代わりに、彼はボディとスタイルにクラスを追加できます別のHTTP往復を避けるために、それに対して – Jeff
@Jeffどうやってさまざまなスタイルを扱うのですか?あなたは違うものすべてのために2つのクラスを作りますか?彼の質問はフォントに関するものなので、うまくいくと思います。 – ThinkingStiff
'
'であれば、cssファイルの '.ios-4-2'を使ってスタイルを上書きすることができます。すなわち 'p {color:red} .ios-4-2 p {color:blue; } ' – Jeffuser-agentを使用すると、デバイスが実行されている特定のバージョンを取得できます。
- 1. PHPまたはJavascriptでiOSバージョンが3.0以上であることを確認してください
- 2. powershellのバージョンを確認し、バージョンに基づいて関数を実行してください
- 3. ページ上のテキストがセレンであることを確認してください
- 4. 日付が10年以上20年以下であることを確認してください
- 5. 行列が正方形であることを確認してください
- 6. XMPPFramework iOSにSSL/TLSバージョンが使用されていることを確認してください。
- 7. mysqlクエリで空の結果を確認してください
- 8. イテレータ "constness"を確認/修正してください
- 9. パンダシリーズに値よりも大きいアイテムが1つ以上あることを確認してください
- 10. アクティブであることを確認してください
- 11. PostgresqlDB上で2人の作業者の結果が異なることを確認してください
- 12. 列の値に基づいて結果をフィルタリングしてください
- 13. OSのバージョンを確認し、正しいバージョンがあればコマンドを発行してください
- 14. オブジェクトに1つ以上の関連オブジェクトがあることを確認してください
- 15. Android 4.2(以上)のAIRPLANE_MODE_ONを変更してください
- 16. 修正このしてください
- 17. iOS App Rejection - あなたのアプリがIPv6ネットワークをサポートしていることを確認してください
- 18. Bash:ユーザー入力が正しいことを確認してください
- 19. PHPの日時スタンプが正しいことを確認してください。
- 20. Swiftを使用してiOS上でアプリケーションを実行することを確認してください
- 21. array.sampleで連続した同等の結果が得られないことを確認してください
- 22. サブモジュールコミットがリポジトリと同じであることを確認してください
- 23. 重複がないことを確認してください
- 24. liにidに基づいて特定のクラスがあるかどうか確認してください
- 25. Jinja2で配列が空であることを確認してください
- 26. ターゲットブランチでPRが最新であることを確認してください
- 27. Nunjucksでオブジェクトが空であることを確認してください
- 28. vb.netでDatagridviewが空であることを確認してください
- 29. プロパティがラムダ式でヌルであることを確認してください
- 30. Rubyでディレクトリが空であることを確認してください
私は、これはユーザーエージェントのものを使用して基本的に、助けになると思います。 http://stackoverflow.com/questions/7399534/check-if-ios-version-is-3-0-or-higher-with-php-or-javascript – ToddBFisher