2013-03-24 12 views

Antwort

69

der URL zu entfernen, setzen Sie einfach die 'Lage' Option "kein".
(On Android, entfernt diese die 'Back/Forward' Buttons, URL und Schaltfläche 'Fertig', nicht nur die URL an.)

var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'location=no'); 

Der Text 'Fertig' Taste kann durch Hinzufügen eines geändert werden 'closebuttoncaption' Option.
(auf Android, die Schaltfläche 'Fertig' ist nur ein X, so 'closebuttoncaption' hat keine Auswirkungen.)

var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'closebuttoncaption=My Button Name'); 

Auf iOS-Geräten kann die Symbolleiste, indem Sie die 'Symbolleiste' entfernt werden Option zu "nein".

var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'toolbar=no'); 

bedeutet jedoch, die Symbolleiste Entfernen sowohl von dem ‚Back/Forward‘ Tasten und die Schaltfläche ‚Fertig‘ wird nicht mehr angezeigt. Dies macht es schwierig, den InAppBrowser zu verlassen.

(Verlassen des InAppBrowser ist weniger ein Problem auf Android, da das System zurück Taste eine alternative Exit-Methode liefert, wenn die Schaltfläche ‚Fertig‘ nicht angezeigt wird.)

Wenn Sie das behalten wollen Wenn Sie die Schaltfläche "Fertig" drücken, aber die Schaltflächen "Zurück/Vor" in ALLEN InAppBrowsern loslassen, können Sie den Quellcode für das InAppBrowser-Plugin wie folgt ändern.


Für iOS, öffnen Sie die folgende Datei

YOURAPPNAME/platforms/ios/YOURAPPNAME/Plugins/cordova-plugin-inappbrowser/CDVInAppBrowser.m 

und ändern Sie die folgende Codezeile aus:

[self.toolbar setItems:@[self.closeButton, flexibleSpaceButton, self.backButton, fixedSpaceButton, self.forwardButton]]; 

zu:

[self.toolbar setItems:@[self.closeButton, flexibleSpaceButton]]; 

Dann Ihr Projekt erstellen erneut über die Befehlszeile.


Für Android, öffnen Sie die folgende Datei

YOURAPPNAME/platforms/android/src/org/apache/cordova/inappbrowser/InAppBrowser.java 

und die folgende Codezeile entfernen:

toolbar.addView(actionButtonContainer); 

Um auch die URL zu entfernen, die folgende Codezeile löschen zu:

toolbar.addView(edittext); 

Erstellen Sie dann Ihr Projekt erneut über die Befehlszeile.


Danke an danw und Vishwani für hilfreiche Antworten. Getestet im Juli 2017 mit Cordova 7.0.1, Cordova iOS 4.4.0, Cordova Android 6.2.3 und cordova-plugin-inappbrowser 1.7.1

+0

Ich versuchte, die CDVInAppBrowser.m und run 'cordova build' zu bearbeiten und dann bereitstellen auf dem Simulator über 'cordova emulieren ios --target = iPhone-6' aber es scheint, dass die Änderung in der .m-Datei ignoriert wird (ich sehe "fertig" und die Navigation, ich habe erwartet, dass die back/fwd-Tasten verschwinden). Kannst du genauer sein? Vielleicht funktioniert das mit der neuesten cordova 6.0.0, wo Plugins über npm installiert werden, funktioniert das nicht mehr? Wäre schön, wenn du die (schon sehr gute, thx dafür) Antwort für die aktuelle cordova-Version updaten könntest ... danke. – firepol

+1

Danke, habe meine Antwort oben so aktualisiert, dass sie die letzten Änderungen widerspiegelt, und sie sollte jetzt für die neuesten Cordova-Versionen stimmen. Klingt so, als hätten Sie die falsche 'CDVInAppBrowser.m' Datei bearbeitet. Wenn Sie das im Ordner "plugins" im Stammverzeichnis eines Cordova-Projekts verwenden, werden die Änderungen nicht wirksam. Es ist der "CDVInAppBrowser.m", der weit unten im Ordner "platforms" vergraben ist, der geändert werden muss. – wicketyjarjar

+0

Wow, so nett bro, hat gut 4 mich! – vinidog

-1

Falls Sie die Toolbar komplett entfernen möchten, können Sie die Symbolleiste HEIGHT-Variable auf 0.0. Sie finden es in der gleichen Datei wie in der obigen Antwort. Es ist nicht die beste Lösung, aber es verschwindet.

12

In 3.1.0 (?) Können Sie die Symbolleiste mit der Option 'Symbolleiste' ausblenden.

Zum Beispiel:

ref = window.open('http://some.page/foo/', '_blank', 'location=no,toolbar=no'); 

siehe: phonegap docs

+0

wie window.open tab zu schließen? –

2

Wenn Sie das getan/Schließen-Taste halten möchten und entfernen Sie alles andere, halten location = ja:

var ref = window.open('http://apache.org', '_blank', 'location=yes'); 

und machen Änderungen in der Datei inappbrowser.java:

toolbar.addView(close); 
close.setText("Done"); 

if (getShowLocationBar()) { 
main.addView(toolbar);} 

Entfernen Sie den editText und actionButtonContainer. Ich hoffe es hilft.

+0

Arbeite nicht für mich – sonu

+0

Danke. das funktioniert von mir –

5
window.open('http://url/', '_blank', 'location=no,toolbar=no'); 

Lage: Stellen Sie auf Ja oder Nein der InAppBrowser Standort bar ein- oder auszuschalten.

Symbolleiste: Legen Sie Ja oder Nein fest, um die Symbolleiste für den InAppBrowser ein- oder auszuschalten (Standardwert ist ja). Diese Nähte ios werden nur obwohl

alle here

0

Verwenden Sie von:

var options = { 
    "location": "no", 
    "toolbar": "no" 
}; 
$cordovaInAppBrowser.open(url, target, options); 
+0

Das hat nicht funktioniert. Antwort oben bearbeitet: 'location = no, toolbar = no' Stellen Sie sicher, dass vor und nach dem Komma keine Leerzeichen stehen –

Verwandte Themen