2013-03-24 5 views

risposta

69

Per rimuovere l'URL, è sufficiente impostare la 'posizione' opzione "no ".
(Su Android, questo rimuove il 'Back/Forward' pulsanti, URL e 'Fatto' pulsante, non solo l'URL.)

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

Il 'Fatto' testo del pulsante può essere modificato con l'aggiunta di un Opzione 'closebuttoncaption'.
(Su Android, il pulsante 'Done' è solo una X, in modo da 'closebuttoncaption' non ha alcun effetto.)

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

Su iOS, la barra degli strumenti può essere rimosso impostando il 'barra degli strumenti' opzione su "no".

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

Tuttavia, la rimozione della barra degli strumenti significa entrambi i pulsanti 'avanti/indietro' e il pulsante 'Done' non sarà più spettacolo. Ciò rende difficile uscire da InAppBrowser.

(Uscita dal InAppBrowser è meno di un problema su Android, dal momento che il sistema di back tasto fornisce un metodo di uscita alternativo se il pulsante 'Done' non è visibile.)

Se si desidera mantenere la Pulsante 'Fatto', ma elimina i pulsanti 'Indietro/Avanti' in TUTTI i tuoi InAppBrowser, puoi modificare il codice sorgente per il plug-in InBrowser come segue.


Per iOS, aprire il seguente file

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

e cambiare la seguente riga di codice da:

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

a:

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

quindi creare il Progetto di nuovo usando la riga di comando.


Per Android, aprire il seguente file

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

e rimuovere la seguente riga di codice:

toolbar.addView(actionButtonContainer); 

Per rimuovere anche l'URL, eliminare la seguente riga di codice troppo:

toolbar.addView(edittext); 

Quindi ricostruisci il progetto usando la riga di comando.


Grazie a danw e Vishwani per le risposte utili. Testato a luglio 2017 con Cordova 7.0.1, Cordova iOS 4.4.0, Cordova Android 6.2.3 e cordova-plugin-inappbrowser 1.7.1

+0

ho provato a modificare il CDVInAppBrowser.m ed eseguire 'costruire Cordova' e quindi distribuire sul simulatore via 'cordova emulate ios --target = iPhone-6' ma sembra che la modifica nel file .m sia ignorata (vedo 'done' e la navigazione, mi aspettavo che i pulsanti back/fwd scomparissero). Può essere più preciso? Forse con l'ultima versione di Cordova 6.0.0, dove i plugin vengono installati tramite npm, questo non funziona più? Sarebbe bello se tu potessi aggiornare la risposta (già molto buona, grazie) per la versione attuale di cordova ... grazie. – firepol

+1

Grazie, ho appena aggiornato la mia risposta sopra per riflettere le modifiche recenti e ora dovrebbe essere accurato per le ultime versioni di Cordova. Sembra che tu abbia modificato il file "CDVInAppBrowser.m" sbagliato. Se si utilizza quello nella cartella "plugins" nella directory principale di un progetto Cordova, le modifiche non avranno effetto. È il 'CDVInAppBrowser.m' sepolto nella cartella 'piattaforme' che deve essere modificata. – wicketyjarjar

+0

Wow, fratello così carino, ha funzionato bene 4 me! – vinidog

-1

Nel caso in cui si desideri rimuovere completamente la barra degli strumenti, è possibile impostare temporaneamente il barra degli strumenti HEIGHT variabile a 0.0. Lo troverai sullo stesso file della risposta sopra. Non è la soluzione migliore, ma scompare.

12

In 3.1.0 (?) È possibile nascondere la barra degli strumenti utilizzando l'opzione "barra degli strumenti".

Ad esempio:

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

vedi: phonegap docs

+0

come chiudere window.open tab? –

2

Se si desidera mantenere il pulsante/chiusura fatto e rimuovere tutto il resto, mantenere location = yes:

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

e fare modifiche nel file inappbrowser.java:

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

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

Rimuovere editText e actionButtonContainer. Spero che sia d'aiuto.

+0

Non lavorare per me – sonu

+0

Grazie. questo funziona formami –

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

posizione: impostato su Sì o no al turno del InAppBrowser posizione bar acceso o spento.

barra degli strumenti: impostare su sì o no per attivare o disattivare la barra degli strumenti per InAppBrowser (impostazione predefinita su Sì). Questo cuciture di essere ios solo se

Trova tutte le opzioni here

0

Usa:

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

Questo non ha funzionato. Risposta sopra lavorata: 'location = no, barra degli strumenti = no' assicurarsi che non ci siano spazi prima e dopo la virgola –