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

2024-02-17

我目前正在构建一个新闻聚合应用程序,并使用 InAppBrowser 供人们阅读文章。现在,我的问题是:我可以删除 URL 和导航栏吗?另外,我可以更改“完成”按钮文本吗?

请告诉我...

Thanks


要删除 URL,只需设置 'location' 选项为“no".

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

在 Android 上,这会删除“后退/前进”按钮、URL 和“完成”按钮,而不仅仅是 URL,但幸运的是,有一个特殊的 Android 专用“隐藏网址栏’选项仅删除 URL。

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

可以通过添加 ' 来更改“完成”按钮文本关闭按钮标题' 选项。
(如果使用 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 不是什么问题,因为如果“完成”按钮未显示,系统后退按钮提供了另一种退出方法。)

如果您想保留“完成”按钮,但去掉“后退/前进”按钮,设置 '隐藏导航按钮'选项'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]];

to:

[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 进行测试

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cordova InAppBrowser - 如何禁用 URL 和导航栏? 的相关文章

随机推荐