2009-04-16 27 views
3

Das folgende JavaScript auf IE7 funktioniert, aber nicht auf IE8:Javascript funktioniert nicht in IE8

onclick=history.back(1) or history.go(-1) 

Irgendwelche Vorschläge auf, warum dies der Fall ist und wie sie zu überwinden.

+4

Ich weiß es nicht, aber ich würde wirklich nicht wollen, dass du das tust. Websites, die mich herumtreiben, sind böse. – Breton

+0

Wird JavaScript in einem HTML-Attribut angezeigt? Oder ist das eine Zuweisung zu einer Objekteigenschaft? – harto

+2

@harto: Derselbe Gedanke hier. Ich denke, es ist ein Attribut, und die Zitate fehlen, was IE8 etwas von seiner neuen Strenge zeigt. – Tomalak

Antwort

6

Haben Sie versucht:

onclick="history.back()" 

mit den Anführungszeichen?


Und auf Ihre Aussage reagiert, dass es nicht funktioniert: au contraire, mon ami.

Die folgenden zwei Dateien laufen auf meinem IE8 feinen installieren, die Dateien mit x1.html:

<html><head></head><body> 
     X1 
     <hr> 
     <a href="x2.html">x2</a> 
    </body></html> 

und x2.html:

<html><head></head><body> 
     X2 
     <hr> 
     <button onclick="history.back()">Back!</button> 
    </body></html> 

Als ich x1 laden, ich x2 mit der bewegen kann Link, dann bewegt sich die Schaltfläche zurück zu x1.

Dies funktioniert in allen drei Kompatibilitätsmodi, daher muss es eine Einstellung in Ihrem Browser sein, die dies beeinflusst.

Eine Sache, die ich tun musste, um dies zum Laufen zu bringen, war unter Tools -> Internet Options -> Advanced -> Security und wählen Allow active content to run in files on My Computer, so ist es fast sicher eine Sicherheitseinstellung in Ihrem Browser, die Ihnen Kummer verursacht.

+0

Leider funktioniert das nicht, Pax –

0

Versuchen Sie history.back(), falls das nicht funktioniert, versuchen Sie es mit history.back(); return false;

+0

Hallo Bhushan Leider funktioniert das nicht –

0

Es kann eine einfache Umkehr von Anführungszeichen sein. Versuchen Sie, diese

lblmessage.Text += '<br><a href="#" onclick="history.back(1);"> <u>Back</u></a>' 

anstelle dieses

lblmessage.Text += "<br><a href='#' onclick='history.back(1);'> <u>Back</u></a>" 
0

Dies ist nicht die Antwort, aber vielleicht wird es jemand anderes helfen, die richtige Antwort zu graben ... Das Problem könnte auf IE8 Kompatibilitätsmodus in Beziehung gesetzt werden . Sonderbare Dinge passieren in IE8 basierend auf dem DOCTYPE der Webseite. Wenn Ihr DOCTYPE übergangssprachlich ist, behandelt IE8 das onclick-Ereignis möglicherweise nicht ordnungsgemäß.

+0

HTML 5 Doctype gewinnt. Es zwingt jeden Browser in den Standardmodus. –

1

Ich hatte auch dieses Problem. Überprüfen Sie nie auch das gleiche auf ie7 oder nicht

Code wie unten kann nicht auf IE8 laufen. Kann auf FF3.5

<select size="2"> 
<option onclick="alert('hey hey')">Hey hey</option> 
<option onclick="alert('a ha')">A Ha</option> 
</select> 

jedoch

auf dieser Arbeit
<select onclick="alert('uh oh')" size="2"> 
<option>Hey hey</option> 
<option>A Ha</option> 
</select> 
2

i benutzen und funktioniert gut:

<asp:Button ID="Back_BTN" runat="server" Text="بازگشت" 
onclientclick="javascript:history.back(1);return false;" /> 
1

Ich hatte das gleiche Problem und es so gelöst .. .

<a href='javascript:history.back(); ' onclick="history.back(); "><input type="button" value="Back" /></a> 

Sie müssen Geschichte schreiben.back() in Ihr a href-Tag und auch das onclick-Ereignis.

Verwandte Themen