これはなぜ動作しないのかわかりません。本当に不幸な理由のためにif文が文字列を検証することができないかもしれないと思うが、それは誰がこれらのスクリプト言語を書いているのか非常に怒ってしまうだろう。JQuery.browserを使用してレイアウトエンジンに基づいてCSSを選択する
//I don't want to know the browser. I want to know the layout engine the user is using.
if($.layout.name == "webkit"){$("#debug").html("your browser uses webkit");}
//I eventually want to do this
if($.layout.name == "webkit"){
document.write('<link rel="stylesheet" href="/css/webkit-name-v006.css" type="text/css" media="screen">');
}
私はjquery.browserプラグインを使用する方法に関する資料についてはすべての上に見えたが、彼らは彼らだけがレイアウトエンジンのためにチェックするための例を与えていない特定のブラウザ名を検出するための情報を与えます。
//this is the closest working example I found online
$.browser.safari = /safari/.test(navigator.userAgent.toLowerCase()); if ($.browser.safari) {
document.write('<link rel="stylesheet" href="http://domain.tld/css/safari.css" type="text/css" media="screen">'); }
バージョンではなくブラウザのレイアウトに基づいてCSSファイルを選択するスクリプトを作成する必要があります。
私は機能の検出に関する誇大宣伝を聞きたくありません。私はそこにいて、それが間違っているのを見ました。 この作業をしたいだけです。
ありがとうございました。
「誇大宣伝」から遠いです。 – Stephen
$ .browser.safariはjQuery 1.4以降で非推奨です。 –
彼らが使用しているレイアウトエンジンをネゴシエーションしたら、異なるユーザーエージェントを区別して作業するのに適していますが、重大な欠陥が多数存在するため、決してそれを捕まえることはできません。理論的には、実際には良い考えです。 –