いまやあんまり使わなくなったframesetだけど、昔作ったASP(ASP.NETじゃない)で作ったイントラネットアプリでは多用しており、今でも現役で動いている。
で、そのうちの一つを改造したのだが、これですっかりはまってしまった。現象として、
1.おかしな表示になるパソコンとそうでないパソコンがある。
2.おかしな表示になるパソコンでは、お気に入りやショートカットから開くのではなく、直接URLをたたくとうまく動く。また、お気に入りやショートカットから開いた場合でも、まれにうまく動く時がある。
おかしな表示になっている時、本日からのデータを表示するはずが、なぜか昨日からの表示になり、そして本日からの表示に移動している。結果として、ブラウザの戻るボタンがアクティブになり、履歴ができている。
で、いろいろ調べていてわかったのだが、今の今までframesetの書き方を間違えていた。たぶん、間違った書き方が載っているサイトを参照したからであろう。つまりは、
<framset ・・・>
</frameset>
<noframes>
</noframes>
じゃなく、
<framset ・・・>
<noframes>
</noframes>
</frameset>
だったのね。
他のASP製のアプリも全部間違っているけど、うまくうごいている。どうやらframesetが深くネストしなければ問題にないようである。ちなみに問題が発生したアプリは3階層ネストしている。
というわけで、他のASP製のアプリをどうしようかと思ったけど、動いているから、まぁ、いいとしよう。
さすがというか恐るべしというか何ていうかHTML。
(参考)
FRAMESETの使い方
http://hp.vector.co.jp/authors/VA014833/wrong1.html