クロスブラウジング

  appName と userAgent



appName はブラウザを判断するのに、ASP.NET が使ってますが、
この内容を他のブラウザで表示するとおもしろい事になります。

  
<SCRIPT language="javascript" type="text/javascript">

	document.write( window.navigator.appName );

</SCRIPT>
  

ブラウザwindow.navigator.appName の値
IE6Microsoft Internet Explorer
Firefox 2.0.0.1Netscape
Opera 9.02Opera
Netscape 7.1Netscape

Firefox のスタンスは非常に理解できますが、これをブラウザの種類の判断には使えません。
で、window.navigator.userAgent を使用する事になります

  
<SCRIPT language="javascript" type="text/javascript">

	document.write( window.navigator.userAgent );

</SCRIPT>
  

ブラウザ window.navigator.userAgent の値
IE6Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Firefox 2.0.0.1Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
Opera 9.02Opera/9.02 (Windows NT 5.1; U; ja)
Netscape 7.1Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)

  
<SCRIPT language="javascript" type="text/javascript">

	if (window.navigator.userAgent.toLowerCase().indexOf("msie") > -1) {
		alert("IE");
	}
	else if (window.navigator.userAgent.toLowerCase().indexOf("firefox") > -1) {
		alert("Firefox");
	}
	else if (window.navigator.userAgent.toLowerCase().indexOf("opera") > -1) {
		alert("Opera");
	}
	else if (window.navigator.userAgent.toLowerCase().indexOf("netscape") > -1) {
		alert("Netscape");
	}
	else {
		alert("Unknown");
	}

</SCRIPT>
  



  name 属性って何のためにあるの?



Firefox と Netscape では、同じ名前の id が先に見つかるとそこへジャンプします。

  
<A href="#target">JUMP</A> <A href="#target2">JUMP2</A>

<br /><br /><br /><br />

<DIV id="target">DIV</DIV> <INPUT id="target2" />

<br /><br /><br /><br />

<A name="target">TARGET</A> <A name="target2">TARGET2</A>

<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
  

JUMP JUMP2



DIV




TARGET TARGET2


























































  タイトル変更



  
<INPUT type="button" value="set title" onClick='SetTitle();'>
<SCRIPT language="javascript" type="text/javascript">

function SetTitle() {

   // IE
   if (window.navigator.userAgent.toLowerCase().indexOf("msie") > -1) {
      document.title = "タイトル文字列";
   }

   // firefox または netscape
   else if (window.navigator.userAgent.toLowerCase().indexOf("firefox") > -1 ||
    window.navigator.userAgent.toLowerCase().indexOf("netscape") > -1 ) {
      if ( document.getElementsByTagName("TITLE")[0] ) {
         document.getElementsByTagName("TITLE")[0].text = "タイトル文字列"
      }
      else {
         var node = null;
         document.getElementsByTagName("HEAD")[0].appendChild(
            document.createElement("TITLE")
         );
         document.getElementsByTagName("TITLE")[0].text = "タイトル文字列";
      }
   }

   // opera
   else if (window.navigator.userAgent.toLowerCase().indexOf("opera") > -1) {
      if ( document.getElementsByTagName("TITLE")[0] ) {
         document.title = "タイトル文字列";
      }
      else {
         // HEAD 有り
         if ( document.getElementsByTagName("HEAD")[0] ) {
            if ( document.getElementsByTagName("TITLE")[0] ) {
               document.getElementsByTagName("TITLE")[0].text = "タイトル文字列";
            }
            else {
               document.getElementsByTagName("HEAD")[0].appendChild(
                  document.createElement("TITLE")
               );
               document.getElementsByTagName("TITLE")[0].text = "タイトル文字列";
            }
         }
         // HEAD 無し
         else {
            var node = null;
            document.getElementsByTagName("HTML")[0].appendChild(
               node = document.createElement("HEAD")
            );
            node.appendChild(
               document.createElement("TITLE")
            );
            document.getElementsByTagName("TITLE")[0].text = "タイトル文字列";
         }
      }
   }
   else {
   }
}

</SCRIPT>
  












  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ