Cordova InAppBrowser - 如何禁用URL和导航栏?

And*_*rei 31 phonegap-plugins cordova

我目前正在构建一个新闻聚合器应用程序,我正在使用InAppBrowser让人们阅读这些文章.现在,我的问题是:我可以删除URL和导航栏吗?另外,我可以更改"完成"按钮文字吗?

请告诉我...

谢谢

在此输入图像描述

wic*_*jar 91

要删除网址,只需将" 位置 "选项设置为" "即可.

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

在Android上,这将删除"后退/前进"按钮,URL和"完成"按钮,而不仅仅是URL,但幸运的是,有一个特殊的Android'hideurlbar '选项只能删除URL.

var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', ‘hideurlbar=yes’);
Run Code Online (Sandbox Code Playgroud)

可以通过添加" closebuttoncaption "选项来更改"完成"按钮文本.
(如果使用InAppBrowser插件v2.0.2或更高版本,现在适用于Android.)

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

在iOS上,可以通过将" toolbar "选项设置为" no " 来删除工具栏.

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

但是,删除工具栏意味着"后退/前进"按钮和"完成"按钮都将不再显示.这使得退出InAppBrowser很困难.

(退出InAppBrowser在Android上不是一个问题,因为如果没有显示"完成"按钮,系统后退按钮提供了另一种退出方法.)

如果你想保留'完成'按钮,但摆脱'后退/前进'按钮,将' hidenavigationbuttons '选项设置为' yes '(需要InAppBrowser插件v3.0.0或更高版本).

var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'hidenavigationbuttons=yes');
Run Code Online (Sandbox Code Playgroud)

对于较旧的插件版本,您可以通过修改InAppBrowser插件的源代码来手动删除所有InAppBrowser中的"后退/前进"按钮,如下所示.


对于iOS,请打开以下文件

YOURAPPNAME/platforms/ios/YOURAPPNAME/Plugins/cordova-plugin-inappbrowser/CDVInAppBrowser.m
Run Code Online (Sandbox Code Playgroud)

并从以下位置更改以下代码行:

[self.toolbar setItems:@[self.closeButton, flexibleSpaceButton, self.backButton, fixedSpaceButton, self.forwardButton]];
Run Code Online (Sandbox Code Playgroud)

至:

[self.toolbar setItems:@[self.closeButton, flexibleSpaceButton]];
Run Code Online (Sandbox Code Playgroud)

然后使用命令行再次构建项目.


对于Android,请打开以下文件

YOURAPPNAME/platforms/android/src/org/apache/cordova/inappbrowser/InAppBrowser.java
Run Code Online (Sandbox Code Playgroud)

并删除以下代码行:

toolbar.addView(actionButtonContainer);
Run Code Online (Sandbox Code Playgroud)

要删除URL,也要删除以下代码行:

toolbar.addView(edittext);
Run Code Online (Sandbox Code Playgroud)

然后使用命令行再次构建项目.


感谢danw和Vishwani提供了有用的答案.2018年4月与Cordova 8.0.0,Cordova iOS 4.5.4,Cordova Android 7.1.0和cordova-plugin-inappbrowser 3.0.0一起测试


dan*_*anw 15

在3.1.0(?)中,您可以使用"工具栏"选项隐藏工具栏.

例如:

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

看:phonegap docs


aWe*_*per 7

window.open('http://url/', '_blank', 'location=no,toolbar=no');
Run Code Online (Sandbox Code Playgroud)

location:设置为yes或no以打开或关闭InAppBrowser的位置栏.

toolbar:设置为yes或no以打开或关闭InAppBrowser的工具栏(默认为yes).这接缝是 仅适用于iOS 虽然

在这里找到所有选项