とあるサイトでポップアップウインドウが突然効かなくなった!たっけて!と言われて、当該サイトをチェック。
元のhtml。
<a href="#" onclick="MM_openBrWindow('example.html','ポップアップしたいHPのアドレス','scrollbars=yes,resizable=yes,width=800,height=600')">
最初Firefoxで確認したところ、特に不具合は無い。
でもIEでチェックすると「引数が無効です。」と表示される。
なんでだろ?と調べて見たところ、
「IEではサイトの詐称を防ぐ意味か何かで、第二引数で使用できる文字を制限している(という噂)」
らしい。
簡単に言うと、ポップアップしたいページのタイトルは簡単なものにしろってことでしょうか?
問題のページでは、ポップアップページに
「シェフの気まぐれハンバーグ定食~きのこの恵み~」
みたいなひらがな漢字記号てんこ盛りのタイトルになっていたので、これを
<a href="javascript:void(0);" onclick="window.open('example.html','<span style="color: #ff6600;">popup</span>','scrollbars=yes,resizable=yes,width=800,height=600');return false;">
シンプルなもの(上の例ではpopupというタイトル)に変更することで、トラブルは解消された。
もちろんポップアップするページのタイトルも同じものに変更しないと駄目。
ちなみにこの動作をさせるだけなら、特にタイトル指定をせずにnullを指定
<span style="font-size: x-small;">(null=空)</span> <a href="javascript:void(0);" onclick="window.open('example.html','<span style="color: #ff6600;">null</span>','scrollbars=yes,resizable=yes,width=800,height=600');return false;>
するだけですむ。