web-dev-qa-db-ja.com

Cordova InAppBrowser-URLとナビゲーションバーを無効にする方法

現在、ニュースアグリゲーターアプリを構築しており、InAppBrowserを使用して記事を読んでいます。今、私の質問は次のとおりです。URLとナビゲーションバーを削除できますか?また、「完了」ボタンのテキストを変更できますか?

私にお知らせください...

ありがとう

enter image description here

30
Andrei

URLを削除するには、「location」オプションを「no」に設定するだけです。

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

Androidでは、URLだけでなく、「戻る/進む」ボタン、URL、「完了」ボタンが削除されますが、ありがたいことに、Android専用の特別な「hideurlbar = 'URLのみを削除するオプション

var ref = cordova.InAppBrowser.open('http://Apache.org', '_blank', ‘hideurlbar=yes’);

「完了」ボタンのテキストは、「closebuttoncaption」オプションを追加することで変更できます。
(現在、Android)で動作します。)

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

IOSでは、「toolbar」オプションを「no」に設定することにより、ツールバーを削除できます。

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

ただし、ツールバーを削除すると、「戻る/進む」ボタンと「完了」ボタンの両方が表示されなくなります。これにより、InAppBrowserを終了することが難しくなります。

(AndroidでInAppBrowserを終了することは、「完了」ボタンが表示されていない場合にシステムの戻るボタンが代替終了メソッドを提供するため、問題ではありません。)

[完了]ボタンを保持したいが、[戻る/進む]ボタンを削除する場合、 'hidenavigationbuttons'オプションを 'はい '(InAppBrowserプラグインv3.0.0以降が必要)。

var ref = cordova.InAppBrowser.open('http://Apache.org', '_blank', 'hidenavigationbuttons=yes');

古いバージョンのプラグインの場合、InAppBrowserプラグインのソースコードを次のように変更することで、すべてのInAppBrowsersの[戻る/進む]ボタンを手動で削除できます。


IOSの場合、次のファイルを開きます

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

次のコード行を次から変更します。

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

に:

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

次に、コマンドラインを使用してプロジェクトを再度ビルドします。


Androidの場合、次のファイルを開きます

YOURAPPNAME/platforms/Android/src/org/Apache/cordova/inappbrowser/InAppBrowser.Java

次のコード行を削除します。

toolbar.addView(actionButtonContainer);

URLも削除するには、次のコード行も削除します。

toolbar.addView(edittext);

次に、コマンドラインを使用してプロジェクトを再度ビルドします。


DanwとVishwaniの有益な回答に感謝します。 Cordova 8.0.0、Cordova iOS 4.5.4、Cordovaで2018年4月テスト済みAndroid 7.1.0およびcordova-plugin-inappbrowser 3.0.0

89
wicketyjarjar

3.1.0(?)では、 'toolbar'オプションを使用してツールバーを非表示にできます。

例えば:

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

参照: phonegap docs

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

location:InAppBrowserのロケーションバーをオンまたはオフにするには、yesまたはnoに設定します。

toolbar:yesまたはnoに設定して、InAppBrowserのツールバーをオンまたはオフにします(デフォルトはyes)。ただし、この継ぎ目はios only

すべてのオプションを検索 here

6
aWebDeveloper

Done/closeボタンを保持し、他のすべてを削除する場合は、location = yesを保持します。

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

inappbrowser.Javaファイルを変更します。

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

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

EditTextおよびactionButtonContainerを削除します。それが役に立てば幸い。

2
Vishwani