36

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

请告诉我...

谢谢

在此处输入图像描述

4

7 回答 7

107

要删除 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 测试

于 2013-03-24T09:47:37.840 回答
15

在 3.1.0(?) 中,您可以使用“工具栏”选项隐藏工具栏。

例如:

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

请参阅:phonegap 文档

于 2013-10-31T03:02:29.117 回答
7
window.open('http://url/', '_blank', 'location=no,toolbar=no');

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

toolbar:设置为 yes 或 no 以打开或关闭 InAppBrowser 的工具栏(默认为 yes)。这 似乎只是ios

在这里找到所有选项

于 2015-06-03T05:27:25.533 回答
2

如果您想保留完成/关闭按钮并删除其他所有内容,请保留 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。希望能帮助到你。

于 2015-02-04T21:49:56.117 回答
1
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);
于 2020-03-28T17:28:44.637 回答
-1

如果您想完全删除工具栏,可以暂时将工具栏 HEIGHT 变量设置为 0.0。您将在与上述答案相同的文件中找到它。这不是最好的解决方案,但它会消失。

于 2013-06-14T16:36:55.163 回答
-1

采用:

var options = {
  "location": "no", 
  "toolbar": "no"
};
$cordovaInAppBrowser.open(url, target, options);
于 2016-12-26T13:21:55.487 回答