現在、ニュースアグリゲーターアプリを構築しており、人々が記事を読むために InAppBrowser を使用しています。さて、私の質問は次のとおりです: URL とナビゲーション バーを削除できますか? また、「完了」ボタンのテキストを変更できますか?
私にお知らせください...
ありがとう
現在、ニュースアグリゲーターアプリを構築しており、人々が記事を読むために InAppBrowser を使用しています。さて、私の質問は次のとおりです: URL とナビゲーション バーを削除できますか? また、「完了」ボタンのテキストを変更できますか?
私にお知らせください...
ありがとう
URL を削除するには、' location ' オプションを " no " に設定します。
var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'location=no');
Android では、これにより、URL だけでなく、「戻る/進む」ボタン、URL、および「完了」ボタンが削除されますが、ありがたいことに、URL のみを削除する特別な Android 専用の「<strong>hideurlbar」オプションがあります。
var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', ‘hideurlbar=yes’);
「完了」ボタンのテキストは、「closebuttoncaption」オプションを追加することで変更できます。
(InAppBrowser プラグイン v2.0.2 以降を使用している場合、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」オプションを「yes 」に設定します(InAppBrowser プラグイン v3.0.0 以降が必要です)。
var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'hidenavigationbuttons=yes');
古いプラグイン バージョンの場合、次のように InAppBrowser プラグインのソース コードを変更することで、すべての InAppBrowser の「戻る/進む」ボタンを手動で削除できます。
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 に感謝します。2018 年 4 月に Cordova 8.0.0、Cordova iOS 4.5.4、Cordova Android 7.1.0、および cordova-plugin-inappbrowser 3.0.0 でテスト済み
3.1.0(?) では、'toolbar' オプションを使用してツールバーを非表示にできます。
例えば:
ref = window.open('http://some.page/foo/', '_blank', 'location=no,toolbar=no');
参照: phonegap ドキュメント
完了/閉じるボタンを保持し、それ以外はすべて削除する場合は、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 を削除します。それが役に立てば幸い。
ツールバーを完全に削除したい場合は、ツールバーの HEIGHT 変数を一時的に 0.0 に設定できます。上記の回答と同じファイルにあります。これは最善の解決策ではありませんが、消えます。
使用する:
var options = {
"location": "no",
"toolbar": "no"
};
$cordovaInAppBrowser.open(url, target, options);