46

私の知る限り、onclickでプロトコルを指定する必要はありません:

onclick="javascript:myFunction()" 悪い

onclick="myFunction()" 良い

今日、Google アナリティクスに関するこの記事で、彼らがそれを使用していることに気付きました。

<a href="http://www.example.com" onClick="javascript: pageTracker._trackPageview('/outgoing/example.com');">

この例は単純に間違っているのでしょうか、それともjavascript:a 以外で指定する理由はありますhrefか?

4

8 に答える 8

8

それはアンカーでは決して必要ではなく、決して良い習慣ではありません。アンカーはナビゲーション専用です。このトピックに関する記事は、役に立たないJavaScript:疑似プロトコルです

于 2008-12-16T18:22:06.467 に答える
6

最初は、 JavaScriptの代わりにInternet ExplorerでVBScriptを使用することもできたため、「javascript:...」を指定するのが標準でした。

今日、まあ、それは害はありません...将来的には他のブラウザスクリプト言語が常に存在する可能性があります。

于 2008-12-16T18:22:54.110 に答える
5

プレフィックスを使用してURL内で JavaScript を呼び出すことができるという事実に基づいて、これは悪い使用法であると常に信じていました。javascript:

<a href="javascript:void(alert('really bad usage!'))">

( Web フォーム、誰か?)

そして、event-declaration と href-declaration の違いを理解していない無知な Web 開発者だけがそれを使用していました。

今日では、ほとんどの場合、イベント属性でさえ悪い習慣であり、イベントをアタッチするための推奨される方法は、.attachEvent (Internet Explorer) と addEventListener (通常の残りのブラウザー) を使用することです。

そして最後に... Google は常に全能の神というわけではありません。彼らは、常に標準に従うのではなく、物事が機能することをより懸念する傾向があります.

于 2008-12-16T18:43:39.950 に答える
3

スクリプト言語の指定( HTML 4.01仕様の18.2.2 、スクリプト)を参照してください。

于 2008-12-16T18:28:16.953 に答える
2

「javascript:」プレフィックスは、JavaScript以外のものがイベントを処理する可能性がまだ漠然としていた昔の残り物だと思います。

現在、これはオプションであり、下位互換性の理由から保持されています。しかし、それ自体が悪いとは言えません。それは単に不要です。

于 2008-12-16T18:20:25.177 に答える
2

Internet Explorerでは、ページのデフォルト言語セットをVBScriptに設定できます。初期の頃は、ブラウザでのスクリプト作成に別の言語を使用できるという考えが常にありました。結局のところ、そのような言語は実質的な形で具体化されていません。

私はこの言語の接頭辞を自分で気にしません。

于 2008-12-16T18:22:54.657 に答える
0

これは、メンテナンス プログラマーにとって良い習慣です。コンパイラはその違いを知っていますが、大学を出たばかりの若い Web 開発者は知らないかもしれません。

于 2008-12-16T18:16:58.180 に答える