17

言い換えれば、違いは何ですか

onclick="myFunction()"

onclick="JavaScript:myFunction()"
4

2 に答える 2

17

イベント ハンドラーのJavaScript:TYPE/LABEL/PREFIX (実際の名前は見つかりませんでした) は、次の1 つの目的のみ を果たします。

IE では、ページの最初のスクリプトが JavaScript ではない場合、ページの残りのインライン JavaScript にはjavascript:プレフィックスを付ける必要がありました (まだありますか?)。

javascript: href のプロトコルと混同しないでください(ちなみに、これも避ける必要があります)。href="javascript:..."AREA タグの古いネットスケープでのみ必要です。リンクがJavaScript駆動のものであることをユーザーに警告するためにそこに配置しない限り、href="javascript:void(0)"誰かが代わりに使用する必要があることがわかった場合。onclick="....; return false"JS がオフになっていると失敗します。

私は msdn から公式ドキュメントを探しましたが、ここに私をバックアップするための議論があります:

Javascript から VBScript を呼び出す

Internet Explorer は、解析する最初のスクリプト要素の言語にデフォルト設定されます。したがって、最初のスクリプト要素が javascript の場合、イベント ハンドラーで "javascript:" を指定する必要はありません。

http://www.webdeveloper.com/forum/archive/index.php/t-135462.html

VBS と JScript を使用していることを IE に伝える必要があります。そうしないと、このインスタンスではすべての関数が VBS であると想定されます。(空の?) JavaScript スクリプト要素を [ページの上部に] 追加するか、onchange で jscript: プロトコルを使用します。onchange="jscript:location.hash=this[this.selectedIndex].value;"

<html>
<head>
<script language="VBScript">
' some vbscript here forces the default language
' of the page to be VBScript and not jScript/JavaScript
</script>
</head>
<body onload="javascript:alert('I am inline in an event handler - boo me')">
.
.
<a href="..." onclick="javascript:alert('and so am I'); return false">Click</a>
.
<a href="javascript:alert('javascript: PROTOCOL is NOT the same (but avoid it too)')">
  Click
</a>


</body>
</html> 
于 2012-04-09T05:09:54.940 に答える