如何让cordova InAppBrowser在iOS和Android之间显示内容类似?

时间:2013-03-11 21:06:53

标签: android cordova inappbrowser

我正在使用cordova InAppBrowser来显示外部网站的内容。当我在iPhone上打开浏览器时,InAppBrowser内容的缩放级别与我应用程序的其余内容的缩放级别相匹配。当我导航到Android设备中的同一个地方时,InAppBrowser内容会缩小显示,非常小,难以阅读。

有没有人知道如何为Android设备设置或调整InAppBrowser的缩放级别或视口?

注意:我可以控制InAppBrowser中显示的内容的样式,但不能控制该网站的html或javascript。

1 个答案:

答案 0 :(得分:4)

我找到了一种方法来改变android InAppBrowser视口,使其与iOS InAppBrowser的视口一致。它需要修改cordova源代码,但实际上很容易做到......只需要改变一行代码。

以下是一些分步说明:

  1. 下载cordova源代码:“git clone https://github.com/apache/cordova-android.git
  2. 下载公共编解码器库:http://ftp.carnet.hr/misc/apache//commons/codec/binaries/commons-codec-1.7-bin.zip
  3. 打开Android开发者工具
  4. 将cordova项目导入您的工作区(文件>导入...>现有项目到工作区)
  5. 创建一个“libs”目录并将下载的commons-codec-1.7.jar文件复制到其中。
  6. 在项目中添加“gen”文件夹(.classpath文件需要,但由于git不允许空文件夹,因此不包含在git下载中)
  7. 转到项目>全部构建。该项目应该没有错误地构建。
  8. 打开InAppBrowser.java并搜索“inAppWebView.getSettings()。setUseWideViewPort(true);” (我下载的cordova版本中的第458行)。
  9. 在该行中将“true”更改为“false”。
  10. 再次构建项目。
  11. 将bin / cordova.jar文件复制到您使用cordova的任何项目中。
  12. 这会将视口更改为与iOS InAppBrowser一致。如果你更喜欢更宽的视口,但仍然想要Android / iOS之间的一致性,你可以在cordova- ios 源代码中做类似的事情来改变iOS以使用更宽的视口(但我还没有看着那个)。

    我从这个google群组获得了一些有关获取cordova源代码和构建项目的信息:https://groups.google.com/forum/?fromgroups=#!topic/phonegap/mUcBcjPISgg