Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Lösung für den Iframe-Anzeigefehler, wenn Firefox_Experience-Austausch zurückgibt

PHP中文网
Freigeben: 2016-05-16 12:06:00
Original
1948 Leute haben es durchsucht

Lösung für den Iframe-Anzeigefehler, wenn Firefox zurückkehrt_Erfahrungsaustausch

<script type="text/javascript">//<![CDATA[ 
if(getCookie(&#39;firefoxIframe&#39;)){ 
document.write(&#39;<p id="addAd"><a href="cookie.html">点击这里删除这个iframe</a></p>&#39;); 
document.write(&#39;<iframe height="120" width="300" marginheight="0" marginwidth="0" 
frameborder="0" src="nAdPre.swf"></iframe>&#39;); 
}else{ 
document.write(&#39;<p id="addAd"><a href="cookie.html">点击这里增加一个iframe</a></p>&#39;); 
} 
//]]></script>
Nach dem Login kopieren

Öffnen Sie die Fehlerdemo, da das Cookie nicht vorhanden ist, werden die drei angezeigten Flashes alle über Iframe implementiert
Klicken Sie auf „Klicken Sie hier, um eine Iframe-Anzeige hinzuzufügen“ und springen Sie zu einer neuen Seite, um ein Cookie namens FirefoxIframe zu schreiben.
Klicken Sie auf „Zurück“ oder die Zurück-Schaltfläche des Browsers, um zur Bug-Demo-Seite zurückzukehren und den Iframe zu finden. Der Flash darin ist falsch platziert, das heißt, der Flash des Iframe-Links an Position 2 wird nicht geladen. Der Flash an Position 3 wird angezeigt, und der Flash an Position 3 wird an Position 4 angezeigt, aber der Flash an Position 4 ist noch vorhanden.
Schließen Sie den Tab (schließen Sie nicht den gesamten Browser. Wenn Sie den gesamten Browser schließen, wird das Cookie ebenfalls ungültig) oder öffnen Sie einen neuen Tab und laden Sie die Seite neu. 4 Iframes zeigen normalerweise 4 Blitze an
Wenn Sie klicken " „Klicken Sie hier, um diese Iframe-Anzeige zu löschen“, springen Sie zu einer neuen Seite, um das Cookie zu löschen, und kehren Sie zurück und stellen Sie fest, dass der Flash im Iframe falsch platziert ist
Wenn Sie ein Cookie schreiben oder ein Cookie löschen, ohne noch einmal durchzugehen Browser und direkter Zugriff über die URL wird nicht funktionieren
Einfache Analyse und Lösung
Es scheint, dass bei der Rückkehr von Firefox Javascript erneut ausgeführt wird, der Iframe jedoch laut src nicht neu geladen wird Attribut, aber Iframe und src sind mit einer ähnlichen Zahl gepaart, und weil die Ausführung von Javascript bei der Rückgabe zu einem Iframe mehr (oder weniger) führt, was dazu führt, dass die nachfolgende Paarung falsch ausgerichtet ist.

Das Obige ist nur eine Spekulation, aber es handelt sich tatsächlich um einen Fehler in Firefox (2.0.0.3 wird erneut ausgeführt, wenn IE zurückkehrt, und der Iframe wird basierend auf src nicht erneut ausgeführt). Wenn Opera zurückkehrt, ändert sich die Seite nicht.

Die Lösung besteht darin, dem Text einen versteckten Iframe hinzuzufügen, um den Platz zu belegen. Ändern Sie den obigen Code wie folgt:

document.write(&#39;<p id="addAd"><a href="cookie.html">点击这里增加一个iframe</a></p>&#39;); 
//把上面的代码修改成为 
document.write(&#39;<iframe src="#" style="display:none;"></iframe>&#39;); 
document.write(&#39;<p id="addAd"><a href="cookie.html">点击这里增加一个iframe</a></p>&#39;);
Nach dem Login kopieren

Das Obige ist der Iframe, wenn Firefox gibt eine Lösung zum Anzeigen von bug_Experience-Austauschinhalten zurück. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage