ハマった。
<a href="#" onclick="alert(''');">これはエラーになります。</a>
<a href="#" onclick="call_alert();">これは意図と違う結果になります。</a>
<script type="text/javascript"><!--
function call_alert(){
alert(''');
}
//--></script>
<a href="#" onclick="alert('\'');">これはOKです。</a>
<a href="#" onclick="call_alert();">これもOKです。</a>
<script type="text/javascript"><!--
function call_alert(){
alert('\'');
}
//--></script>
<a href="#" onclick="call_alert('hentai');">これは変態対応です。</a>
<input type="hidden" name="hentai" value="'">
<script type="text/javascript"><!--
function call_alert(str){
var hentai_value = document.getElementsByName(str).item(0).value;
alert(hentai_value);
}
//--></script>
ただ単にJavaScriptのメソッドの引数にシングルクォーテーション(')を渡したかっただけ。エスケープ(\')したくなかった。今は反省している。