2016-05-09 14 views
0

Ich habe eine einfache App mit ein paar Navigationsschaltflächen, die vordefinierte Websites in einem Webcontainer laden.So speichern und Zugriff auf vorherige Websites in WebView zugegriffen

Wenn möglich, möchte ich, dass der Benutzer zu der zuletzt besuchten URL zurückkehrt, nachdem er auf eine andere Schaltfläche geklickt hat.

z. Der Nutzer klickt auf die Schaltfläche 1 und ruft google.com auf, um eine Suche durchzuführen. Der Benutzer klickt dann auf Button 2 und liest einige Posts auf stackoverflow, dann entscheiden sie sich für den Button 1 (google). In einer idealen Welt würde der Benutzer die Suchergebnisse sehen, die sie auf Knopf 1 ausgeführt haben, und nicht zurück zu google.com geleitet werden.

Wäre ich in der Lage, getURL zu verwenden, um die zuletzt besuchte URL zu speichern und diese dann neu zu laden URL, sobald der Benutzer zu dieser Schaltfläche zurückgeht? Wenn ja, wie würde ich die URL speichern? Ich bin ziemlich neu in Titanium.

Ich habe auch eine andere Version der App, die eine Tab-Gruppe verwendet und lädt verschiedene Webansichten in jeder Registerkarte, die das Problem des Ladens der letzten URL löst aber den App-Speicher schwer macht, da es viele Webviews verwendet.

+0

Vielleicht können Sie das tiBrowser-Modul verwenden, um Ihr Problem zu lösen: https://github.com/jdanthinne/tiBrowser? –

+0

Vielen Dank, wie würde dieses Modul Ihnen helfen, zur zuletzt besuchten URL zurückzukehren? Ich möchte, dass die Benutzer Navigation nach vorne/hinten haben, aber keine Navigationsleiste oder Titelleiste. – Rob88991

+0

Wie Sie in der Readme sehen können, erstellen Sie mit diesem Widget einen Webview mit Schaltfläche Zurück/Vorwärts, Aktualisieren und Optionen. Sie können es anpassen, um die Navigationsleiste zu entfernen, wenn Sie möchten. –

Antwort

3

Versuchen Sie, dies zu betrachten Ti WebView 'load' event listener.

  • Mit load event können Sie feststellen, welche URL gerade in der Webansicht angezeigt wird.
  • Um ein Navigationssystem zu haben, speichern Sie alle URLs in einem Array.
  • Um Vor- und Zurück-Vorgänge auszuführen, verwenden Sie Variablen, um zu verfolgen, ob der Benutzer die Schaltfläche Zurück oder Vorwärts gedrückt hat.
  • Probieren Sie die obigen Schritte aus und bis dann werden wir versuchen, einige Demo-Code für Sie zu setzen. :)

    Dank

    +0

    Vielen Dank, ich denke, ich habe etwas Grundlegendes zu tun: webview5.addEventListener ('vorher laden', Funktion (findCurrentURL) {alert (findCurrentURL.url);}); Allerdings bin ich mir nicht sicher, wie ich sie als Array speichern soll ... Entschuldigung, sehr einfache Frage, ich bin mir sicher! – Rob88991

    2

    tiBrowser Widget https://github.com/jdanthinne/tiBrowser aussetzt keine Methode die letzte URL zu erhalten. Aber man kann es leicht hinzufügen, in widget.js https://github.com/jdanthinne/tiBrowser/blob/master/be.grincheux.tiBrowser/controllers/widget.js hinzufügen:

    function getHistory(){ 
    
        return history; 
    
    } 
    
    exports.getHistory = getHistory; 
    

    history ist ein Array, das alle Adressen enthält besucht.

    +0

    Vielen Dank, das sieht sehr nützlich aus, ich werde einen Blick darauf werfen und sehen, ob ich es zum Laufen bringen kann! – Rob88991