あるフレームに親フレームセットを最小限に抑えるボタンがあるフレームセットがあります。フレームセットのサイズがマウスのサイズ変更後に正しく調整されない
コードは機能しますが、問題は、マウスで手動でフレームのサイズを変更してから最小化ボタンを押すと、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="22,*"
へのcols="32%,*"
変化を見ることができますが、まだそれは間違ったサイズでレンダリングします。
マウスを変更した後、サイズが正しくないのはなぜですか?何か不足しているのですか、それともブラウザのバグですか?または、おそらく、このバグなしでフレームのサイズを変更するための代替ソリューションがありますか?
例
この問題も発生しています。コラムを設定しても、それはいつもあなたがそれを合計したものではなく、それにリサイズしたものに相対的です。これはSafariがChromeと同じように動作するため、Firefoxが期待どおりに動作するため、Webkitのバグであるようです。 – Joel
フレーム枠を使って手作業でサイズを変更すると表示されますが、フレームをプログラムで正確にサイズ変更する方法はありません。 – Joel
Codlerの例js-codeでは、2番目の(内側の)フレームセットのcols属性が設定されています。私は、外側のフレームセットが設定されていたと推測しています。 – Rembunator