2014-02-07 9 views
8

Also versuche ich den Benutzer eine Ebene in der Geschichte auf einer iPhone HomeScreen App zurückleiten, aber es ist einfach nur nicht aus irgendeinem Grund feuern.window.history.go (-1) nicht in iOS HomeScreen App

Aktuelle Code ist wie folgt window.history.go(-1)

Ich habe auch verschiedene andere Version window.history.back(), history.go(-1), aber kein Glück noch nicht ausprobiert. Ich kann mir nicht vorstellen, wie man den PushState implementiert, also habe ich diesen Ansatz noch nicht ausprobiert, aber es ist ziemlich nervig, wie unglaublich schlecht die Homescreen-App-Sachen gemacht werden.

Immerhin können Sie mit Safari debuggen.

+0

Funktioniert es, wenn Sie die Web-App durch Safari zugreifen? Erhalten Sie irgendwelche Fehler, wenn Sie den Anruf tätigen? Können Sie die Event-Verbindung und den Code, der den Aufruf von 'window.history.go' macht, posten? – rusmus

+0

Ich schlage vor, dass Sie eine Bibliothek wie [historyjs] (https://github.com/browserstate/history.js/) verwenden, da sie eine konsistente browserübergreifende Oberfläche für den HTML5-Verlauf bereitstellen soll. –

+0

Um ... Welche Art von App ist das? Ich habe buchstäblich meine eigene Homescreen-App geladen und sowohl "window.history.back()" als auch "window.history.go (-1)" funktionierten, als ich sie in der Konsole eingab. –

Antwort

5

Sie können mobile Safari debuggen, aber leider brauchen Sie einen Mac.

Wenn nicht, versuchen Sie dies:

  1. Stellen Sie sicher, Ihr Code funktioniert und keine Fehler auf Desktop-Safari;
  2. Überprüfen Sie, ob Sie den Anruf tätigen, indem Sie anstelle des Codes history(-1) einen alert("history() called") Code hinzufügen;
  3. Gibt es in einem Link ein Standardverhalten, um zu einer anderen Seite zu navigieren? Wenn dies der Fall ist, benötigen Sie nach dem Aufruf von history() einen event.preventDefault() oder mindestens einen return false;.

iOS simulator safari debugger

1

Versuchen Sie so etwas wie:

<a href="javascript:history.go(-1)">Go back</a> 
Verwandte Themen