Ich habe ein Frameset, in dem in einem Frame eine Schaltfläche enthalten ist, die das übergeordnete Frameset auf eine bestimmte Größe minimiert.Frameset wird nach Größenanpassung mit der Maus nicht korrekt skaliert
Der Code funktioniert, aber das Problem ist, wenn ich Frame zuerst mit meiner Maus manuell ändern und dann die Minimieren-Taste drücken, wird es in IE8 und Chrome falsch skalieren. Es wird in FF korrekt skaliert.
Ich habe diese HTML-Struktur
...
<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>
...
und diesen Code, der beim Drücken der Taste ausgeführt wird.
// Minimize frame button
$('.minimizeFrame').toggle(function() {
parent.document.getElementsByTagName('frameset')[1].setAttribute('cols','22,*');
}, function() {
parent.document.getElementsByTagName('frameset')[1].setAttribute('cols','32%,*');
});
kann ich sehen, dass cols="32%,*"
Änderungen an cols="22,*"
in den Entwickler-Tool, aber es in der falschen Größe machen nach wie vor.
Warum ändert sich die Größe nach Änderungen mit der Maus falsch? Fehle ich etwas oder ist es ein Bug im Browser? Oder gibt es vielleicht eine alternative Lösung, um den Rahmen ohne diesen Fehler zu ändern?
Beispiel
ich auch mit diesem Problem bin. Es scheint, dass, was auch immer Sie die Spalten zu setzen, ist es immer relativ zu dem, was Sie in der Größe geändert haben, anstatt insgesamt. Dies scheint ein Webkit-Bug zu sein, da Safari genauso funktioniert wie Chrome, während Firefox wie erwartet funktioniert! – Joel
Es erscheint, sobald Sie die Größe manuell geändert haben, indem Sie den Rahmenrahmen verwenden. Es gibt keine Möglichkeit, den Rahmen programmatisch zu ändern. – Joel
In Codler-Beispiel js-code wird das cols-Attribut des zweiten (inneren) Framesets festgelegt. Ich vermute, dass das äußere Frameset gesetzt werden sollte. – Rembunator