3

私はインラインJavaScriptを作成していませんが、私が使用しているコードベースで常にそれを確認して使用しています。

<div onClick='javascript:alert("asdf");'></div>

いくつかのテストを行ったところ、すべてのブラウザーで、IE5モードのIEjavascriptでも、文字通り何にでも変更でき、正常に起動することがわかりましたalert

<div onClick='qwerty:alert("asdf");'></div>

その区切り文字は何ですか?その背後にある歴史は何ですか?それは今までに必要または有用ですか?属性セット<script type="text/javascript">は実際には必要ないことを覚えているようですが、これにも関連していますか?typeグーグルしてみましたが、探すのが大変です。

4

2 に答える 2

6

これは、ページの最初のスクリプトが VBScript である場合に IE でのみ必要とされるラベル
です (古い?) IE に追加<script type="VBScript"></script>すると、それ以降のスクリプトは、JavaScript 固有であり、ラベル javascript: がない場合に失敗します。スイッチバック

ここで私の答えを参照してください: JavaScript 疑似プロトコルは実際に何をしますか?

于 2013-03-13T22:40:38.237 に答える
2

一般に、これは単なるラベルであり、次のようになります。

label:
  statement;

qwerty:alert("asdf")合法的なJavascriptであるため、これが機能する理由です。

IE はこれを別の方法で処理します。この回答で詳細を確認できます。

関連する回答とリンク:

于 2013-03-13T22:43:37.957 に答える