0

Webページを作成するとき、ページ上のすべての機能を異なるブラウザーの同じ位置に配置したいと思います。異なるブラウザでページを実行すると、一部の機能が異なる位置に配置されることがあります。これらの変数を使用して、開いているブラウザを正しく認識し、たとえばifステートメントを使用していくつかのオプションを決定します。

//var firefox = (navigator.userAgent.indexOf("Firefox") != -1);
//var opera = (navigator.userAgent.indexOf("Opera") != -1);
//var ie = (navigator.userAgent.indexOf("MSIE") != -1);
//var safari = (navigator.userAgent.indexOf("Safari") != -1);
//var scrome = (navigator.userAgent.indexOf("Chrome") != -1);

1.いくつかの機能が異なるブラウザの異なる位置に配置されている場合、このようにするのは良い方法ですか?

2.「navigator.userAgent.indexOf(...)」を使用すると返されるタイプは何ですか。ハッシュテーブルのように、パラメータの位置を返すのはブール値ですか、それともある種のコレクションですか?どのタイプが正確に返されますか?

4

3 に答える 3

0
  1. ブラウザが異なれば、初期位置の動作も異なる可能性があります。ブラウザを同じように動作させるには、CSSリセットを実行することをお勧めします。

  2. navigator.userAgentは文字列オブジェクトであるため、.indexOf(...)整数を返しますNumber

于 2013-03-21T08:57:24.127 に答える
0

(1) ユーザー エージェント文字列に基づくブラウザー検出を行わない。これは非常に信頼性が低く、2013 とはまったく異なります。modernizr のようなフレームワークを使用して、どの機能がサポートされているか (どの機能がサポートされていないか) を検出したいと考えています。これは良いスタートです。

(2) コレクションではなく、元の文字列における検索された文字列の位置を示す数字です。こちらを参照するか、自分で調べてください:

typeof(navigator.userAgent.indexOf("foo"))

(3) ところで: 初心者の質問を投稿するための素晴らしい名前 ;)

于 2013-03-21T08:59:49.063 に答える
0

だからあなたはこれを探していると思います:

  <!--[if IE]> 
   <link rel="stylesheet" type="text/css" href="style.css" />
    <!-->

そのコードはページのヘッド セクションに配置する必要があります。ブラウザごとに複数の CSS ページを指定できます。このリンクは、たとえば IE(インターネット エクスプローラ)用です。

于 2013-03-21T09:02:29.753 に答える