JavaScript の基本コード

  SCRIPT 要素とクロスブラウジング



  
<script type="text/javascript">

	var ie = window.navigator.appName.toLowerCase().indexOf("microsoft") > -1;
	ie |= window.navigator.userAgent.toLowerCase().indexOf("trident/7.0") > -1;
	if (ie) {
		// IE 用
		console.log("IE");
	}
	else {
		// IE 以外用
		console.log("IE以外");
	}

</script>
  







  リダイレクト



※ JavaScript では同一ドメインでのみ使えます

JavaScript なので、リダイレクトするウインドウ(ターゲット)を指定できる。
フレーム内からトップにリダイレクトしたい場合は、window.top.location とすれば良いし、今のページを開いた元のページならば、opener.location とする。同様に、フレームならば、parent.フレーム名.location。IFRAME ならば、IFRAMEオブジェクト.contentWindow.location。

( ※ 新しいウインドウを開きたい場合は、FORM の送信時に target="_blank" とする )

  
<?php

	$str='';
	$str.="<script type=\"text/javascript\"> ";
	$str.="\n	window.location = \"http://winofsql.jp\"; ";
	$str.="\n</script> \n ";
	print $str;

?>
  

リダイレクトは、WEB アプリで、FORM から POST でサーバへ送信された場合、更新終了後の表示画面でユーザーが再更新すると再度更新処理のページをサーバーに送ろうとしてしまいます。リダイレクトは、それを避ける為の最も単純な方法です。


▼ 関連リンク
javascript を出力するコードの作成(多種文字列変換)

PHP

  
# **********************************************************
# リダイレクト
# **********************************************************
function Redirect( $Target ) {

	header( "Location: $Target" );

}

# **********************************************************
# JavaScript によるサーバー処理後単純リダイレクト
# **********************************************************
function redirect( $url, $msgno="", $target="window" ) {

	$str='';
	$str.="<script type=\"text/javascript\"> ";
	$str.="\n	$target.location = \"$url?msgno=$msgno\"; ";
	$str.="\n</script> \n ";
	print $str;

}

# **********************************************************
# JavaScript によるリロード保証リダイレクト
# **********************************************************
function redirect( $url, $msgno="", $target="window" ) {

	$dt = date("YmdHis");

	$str='';
	$str.="<script type=\"text/javascript\"> ";
	$str.="\n	$target.location = \"$url?msgno=$msgno&reload=$dt\"; ";
	$str.="\n</script> \n ";
	print $str;

}

  

ASP

  
' **********************************************************
' リダイレクト
' **********************************************************
function Redirect( UrlTarget )

	Response.Redirect UrlTarget

end function
  






  ブラウザ判定

IEは、いまだに IE6 から IE11 まで存在し、目的によっては細分してそれぞれのバージョンの考慮が必要な場合があります。

特に、見栄えでは大きな違いが出るので、JavaScript で STYLE 定義を document.write する場合に役に立つと思います。

以下は、String オブジェクトのメソッドとして実装しています。"chrome".browser() が true ならば、Google Chrome という事になります。IE では、個別に "ie10".browser() で判定できますが、IE 全体での判定は "ie".browser() になります。

※ 無駄にみえるコード部分がありますが、firefox から safari までの並びは意味があります。


  
<script type="text/javascript">

String.prototype.browser = function() {
	var userAgent = window.navigator.userAgent.toLowerCase();
	var appVersion = window.navigator.appVersion.toLowerCase();
	var target = this.valueOf();

	if (userAgent.indexOf("msie") > -1) {
		if (appVersion.indexOf("msie 6.0") > -1) {
			return ( target == "ie6" || target == "ie" );
		}
		else if (appVersion.indexOf("msie 7.0") > -1) {
			return ( target == "ie7" || target == "ie" );
		}
		else if (appVersion.indexOf("msie 8.0") > -1) {
			return ( target == "ie8" || target == "ie" );
		}
		else if (appVersion.indexOf("msie 9.0") > -1) {
			return ( target == "ie9" || target == "ie" );
		}
		else if (appVersion.indexOf("msie 10.0") > -1) {
			return ( target == "ie10" || target == "ie" );
		}
		else {
			return false;
		}
	}
	else if (userAgent.indexOf("trident/7.0") > -1) {
		return ( target == "ie11" || target == "ie" );
	}
	else if (userAgent.indexOf("firefox") > -1) {
		return ( target == "firefox" );
	}
	else if (userAgent.indexOf("opera") > -1) {
		return ( target == "opera" );
	}
	else if (userAgent.indexOf("chrome") > -1) {
		return ( target == "chrome" );
	}
	else if (userAgent.indexOf("safari") > -1) {
		return ( target == "safari" );
	}
	else {
		return false;
	}
}
</script>
<select id="browser">
	<option value="chrome">chrome
	</oprion>
	<option value="firefox">firefox
	</oprion>
	<option value="opera">opera
	</oprion>
	<option value="safari">safari
	</oprion>
	<option value="ie11">ie11
	</oprion>
	<option value="ie10">ie10
	</oprion>
	<option value="ie9">ie9
	</oprion>
	<option value="ie8">ie8
	</oprion>
	<option value="ie7">ie7
	</oprion>
	<option value="ie6">ie6
	</oprion>
	<option value="ie">ie
	</oprion>
</select>
<input type=button
	value="ブラウザ判定"
	onclick='alert((document.getElementById("browser").value).browser())'>
  


以下は、コードの基本部分のテスト用のコードです

  
<SCRIPT type="text/javascript">

	var userAgent = window.navigator.userAgent.toLowerCase();
	var appVersion = window.navigator.appVersion.toLowerCase();

	if (userAgent.indexOf("msie") > -1) {
		if (appVersion.indexOf("msie 6.0") > -1) {
			alert("IE6");
		}
		else if (appVersion.indexOf("msie 7.0") > -1) {
			alert("IE7");
		}
		else if (appVersion.indexOf("msie 8.0") > -1) {
			alert("IE8");
		}
		else if (appVersion.indexOf("msie 9.0") > -1) {
			alert("IE9");
		}
		else if (appVersion.indexOf("msie 10.0") > -1) {
			alert("IE10");
		}
		else {
			alert("Unknown");
		}
	}
	else if (userAgent.indexOf("trident/7.0") > -1) {
		alert("IE11");
	}
	else if (userAgent.indexOf("firefox") > -1) {
		alert("Firefox");
	}
	else if (userAgent.indexOf("opera") > -1) {
		alert("Opera");
	}
	else if (userAgent.indexOf("chrome") > -1) {
		alert("Google Chrome");
	}
	else if (userAgent.indexOf("safari") > -1) {
		alert("Safari");
	}
	else {
		alert("Unknown");
	}

</SCRIPT>
  

IE11 の互換性の変更点
IE11 に変わって、互換性 ("compatible")トークンとブラウザー("MSIE") トークンが削除されました。よって、IE としてのブラウザの判定は少し複雑になっています。








  キャラクタセット

ブラウザ document.charset document.characterSet
IE9 shift_jis shift_jis
IE8 shift_jis undefined
IE7 shift_jis undefined
IE6 shift_jis undefined
Firefox 2.0.0.1 undefined Shift_JIS
Opera 9.02 shift_jis shift_jis
Netscape 7.1 undefined Shift_JIS










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





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

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ