我目前正在构建一个新闻聚合器应用程序,并且我正在使用 InAppBrowser 供人们阅读文章。现在,我的问题是:我可以删除 URL 和导航栏吗?另外,我可以更改“完成”按钮的文字吗?
请告诉我...
谢谢
我目前正在构建一个新闻聚合器应用程序,并且我正在使用 InAppBrowser 供人们阅读文章。现在,我的问题是:我可以删除 URL 和导航栏吗?另外,我可以更改“完成”按钮的文字吗?
请告诉我...
谢谢
要删除 URL,只需将“位置”选项设置为“否”。
var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'location=no');
在 Android 上,这会删除“后退/前进”按钮、URL 和“完成”按钮,而不仅仅是 URL,但幸运的是,有一个特殊的 Android 专用“<strong>hideurlbar”选项可以仅删除 URL。
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 上,可以通过将“工具栏”选项设置为“否”来删除工具栏。
var ref = cordova.InAppBrowser.open('http://apache.org', '_blank', 'toolbar=no');
但是,删除工具栏意味着“后退/前进”按钮和“完成”按钮将不再显示。这使得退出 InAppBrowser 变得很困难。
(退出 InAppBrowser 在 Android 上不是问题,因为如果“完成”按钮未显示,系统后退按钮提供了另一种退出方法。)
如果您想保留“完成”按钮,但去掉“后退/前进”按钮,请将“隐藏导航按钮”选项设置为“是”(需要 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(?) 中,您可以使用“工具栏”选项隐藏工具栏。
例如:
ref = window.open('http://some.page/foo/', '_blank', 'location=no,toolbar=no');
请参阅:phonegap 文档
window.open('http://url/', '_blank', 'location=no,toolbar=no');
location:设置为 yes 或 no 以打开或关闭 InAppBrowser 的位置栏。
toolbar:设置为 yes 或 no 以打开或关闭 InAppBrowser 的工具栏(默认为 yes)。这 似乎只是ios
在这里找到所有选项
如果您想保留完成/关闭按钮并删除其他所有内容,请保留 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。希望能帮助到你。
const options: InAppBrowserOptions= {
zoom: 'no',
hideurlbar: 'yes', // hide the url toolbar
hidenavigationbuttons: 'yes', // hide navigation buttons back/forward
}
const browser = this.iab.create(url,'_self',options);
如果您想完全删除工具栏,可以暂时将工具栏 HEIGHT 变量设置为 0.0。您将在与上述答案相同的文件中找到它。这不是最好的解决方案,但它会消失。
采用:
var options = {
"location": "no",
"toolbar": "no"
};
$cordovaInAppBrowser.open(url, target, options);