あるフレームに、親フレームセットを特定のサイズに最小化するボタンがあるフレームセットがあります。
コードは機能しますが、問題は、最初にマウスで手動でフレームのサイズを変更してから最小化ボタンを押すと、IE8 と Chrome でサイズが正しく変更されないことです。FFで正しくサイズ変更されます。
私はこのHTML構造を持っています
...
<frameset cols="32%,*" border="2" frameborder="1" framespacing="1">
<frameset rows="350,*" border="2" frameborder="1" framespacing="1" id="searchResultFrameset">
<!-- The minimize button are in this frame searchResultFrame -->
<frame name="searchResultFrame" scrolling="no" src="dummy">
<frame name="itemFrame" frameborder="1" scrolling="no" id="itemFrame" src="dummy2"></frameset>
<frame name="contentFrame" frameborder="0" scrolling="yes" id="contentFrame" src="dummy3">
</frameset>
...
ボタンを押したときに実行されるこのコード。
// Minimize frame button
$('.minimizeFrame').toggle(function () {
parent.document.getElementsByTagName('frameset')[1].setAttribute('cols','22,*');
}, function () {
parent.document.getElementsByTagName('frameset')[1].setAttribute('cols','32%,*');
});
cols="32%,*"
開発者ツールでその変更を確認できますがcols="22,*"
、それでも間違ったサイズでレンダリングされます。
マウスによる変更後、サイズが正しく変更されないのはなぜですか? 何か足りないのですか、それともブラウザのバグですか? または、このバグなしでフレームのサイズを変更する別の解決策はありますか?
例