イベント ハンドラーでは使用しないでください (ただし、ほとんどのブラウザーは防御的に動作し、ユーザーを罰することはありません)。また、アンカーの href 属性では使用しないでください。ブラウザが JavaScript をサポートしている場合、適切に定義されたイベント ハンドラが使用されます。ブラウザーがそうでない場合、javascript: リンクが壊れて表示されます。IMO、javascriptがその機能を使用できるようにする必要があることを説明するページ、またはJavaScriptを必要としない機能のバージョンを説明することをお勧めします。したがって、次のようなものです:
<a href="non-ajax.html" onclick="niftyAjax(); return false;">Ajax me</a>
編集: javascript: を使用する十分な理由を考えました。ブックマークレット。たとえば、これはページの RSS フィードを表示するために Google リーダーに送信します。
var b=document.body;
if(b&&!document.xmlVersion){
void(z=document.createElement('script'));
void(z.src='http://www.google.com/reader/ui/subscribe-bookmarklet.js');
void(b.appendChild(z));
}else{
location='http://www.google.com/reader/view/feed/'+encodeURIComponent(location.href)
}
ユーザーがこのブックマークレットを簡単に追加できるようにするには、次のようにフォーマットします。
<a href="javascript:var%20b=document.body;if(b&&!document.xmlVersion){void(z=document.createElement('script'));void(z.src='http://www.google.com/reader/ui/subscribe-bookmarklet.js');void(b.appendChild(z));}else{location='http://www.google.com/reader/view/feed/'+encodeURIComponent(location.href)}">Drag this to your bookmarks, or right click and bookmark it!</a>