如何让cordova InApp浏览器在iOS和Android之间以类似方式显示内容?

如何让cordova InApp浏览器在iOS和Android之间以类似方式显示内容?,android,cordova,inappbrowser,Android,Cordova,Inappbrowser,我正在使用cordova InApp浏览器显示外部站点的内容。当我在iPhone上打开浏览器时,InAppBrowser内容的缩放级别与我的其他应用程序的缩放级别相匹配。当我在Android设备中导航到同一个位置时,InAppBrowser的内容会被放大,非常小,很难阅读 是否有人知道如何为Android设备设置或调整iApp浏览器的缩放级别或视口 注意:我可以控制iApp浏览器中显示的内容的样式,但不能控制该站点的html或javascript。我找到了一种方法,可以将android iApp

我正在使用cordova InApp浏览器显示外部站点的内容。当我在iPhone上打开浏览器时,InAppBrowser内容的缩放级别与我的其他应用程序的缩放级别相匹配。当我在Android设备中导航到同一个位置时,InAppBrowser的内容会被放大,非常小,很难阅读

是否有人知道如何为Android设备设置或调整iApp浏览器的缩放级别或视口


注意:我可以控制iApp浏览器中显示的内容的样式,但不能控制该站点的html或javascript。

我找到了一种方法,可以将android iApp浏览器的视口更改为与iOS iApp浏览器的视口一致。它需要修改cordova源代码,但实际上很容易做到。。。只需要更改一行代码

以下是一些分步说明:

  • 下载cordova源代码:“git克隆”
  • 下载commons编解码器库:
  • 开放Android开发者工具
  • 将cordova项目导入工作区(文件>导入…>将现有项目导入工作区)
  • 创建一个“libs”目录,并将下载的commons-codec-1.7.jar文件复制到其中
  • 向项目中添加一个“gen”文件夹(需要.classpath文件,但不包括在git下载中,因为git不允许空文件夹)
  • 转到项目>全部生成。项目的构建应该没有错误
  • 打开InAppBrowser.java并搜索“inAppWebView.getSettings().setUseWideViewPort(true);”(我下载的cordova版本中的第458行)
  • 将该行中的“true”更改为“false”
  • 重新构建项目
  • 将bin/cordova.jar文件复制到您正在使用cordova的任何项目中
  • 这将更改视口,使其与iOS iApp浏览器一致。如果您更喜欢更宽的视口,但仍然希望Android/iOS之间保持一致,那么您可能可以在cordova iOS源代码中执行类似的操作,将iOS更改为使用更宽的视口(但我还没有研究过这一点)


    我从这个google小组获得了一些关于获取cordova源代码和构建项目的信息:

    我找到了一种方法,可以将android InApp浏览器的视口更改为与iOS InApp浏览器的视口一致。它需要修改cordova源代码,但实际上很容易做到。。。只需要更改一行代码

    以下是一些分步说明:

  • 下载cordova源代码:“git克隆”
  • 下载commons编解码器库:
  • 开放Android开发者工具
  • 将cordova项目导入工作区(文件>导入…>将现有项目导入工作区)
  • 创建一个“libs”目录,并将下载的commons-codec-1.7.jar文件复制到其中
  • 向项目中添加一个“gen”文件夹(需要.classpath文件,但不包括在git下载中,因为git不允许空文件夹)
  • 转到项目>全部生成。项目的构建应该没有错误
  • 打开InAppBrowser.java并搜索“inAppWebView.getSettings().setUseWideViewPort(true);”(我下载的cordova版本中的第458行)
  • 将该行中的“true”更改为“false”
  • 重新构建项目
  • 将bin/cordova.jar文件复制到您正在使用cordova的任何项目中
  • 这将更改视口,使其与iOS iApp浏览器一致。如果您更喜欢更宽的视口,但仍然希望Android/iOS之间保持一致,那么您可能可以在cordova iOS源代码中执行类似的操作,将iOS更改为使用更宽的视口(但我还没有研究过这一点)


    我从这个谷歌小组获得了一些关于获取cordova源代码和构建项目的信息:

    你确实意识到这可能是由于android手机和iphone的像素密度造成的。此外,它们都使用不同的浏览器,因此它们的渲染方式会有所不同,除非您在代码/样式中对此进行了说明。我不确定是否有现成的工具可以为您做到这一点,也许像jQuery Mobile、Dojo Mobile或Sencha Touch这样的UI框架可以为您做到这一点。只是一个想法…这不是因为在这种情况下的像素密度。iPhone的像素密度比我正在测试的特定android设备要高,因此如果问题是由于像素密度造成的,android设备将看起来更放大,而不是缩小。此外,我确实意识到这些设备使用不同的浏览器。如果我使用每部手机的本机浏览器查看相同的外部站点,则该站点在每部手机上看起来都是相同的。正是InAppBrowser在改变事物,因此InAppBrowser对视口/缩放级别有一定的控制。我的问题是关于我如何控制/控制它。你知道这可能是由于android手机和iphone的像素密度不同。此外,它们都使用不同的浏览器,因此它们的渲染方式会有所不同,除非您在代码/样式中对此进行了说明。我不确定是否有现成的工具可以为您做到这一点,也许像jQuery Mobile、Dojo Mobile或Sencha Touch这样的UI框架可以为您做到这一点。只是一个想法…这不是因为在这种情况下的像素密度。iPhone的像素密度比我正在测试的特定android设备要高,因此如果问题是由于像素密度造成的,android设备将看起来更放大,而不是缩小。此外,我确实意识到这些设备使用不同的浏览器。如果我使用每部手机的本机浏览器查看相同的外部站点,则该站点在每部手机上看起来都是相同的。正是InAppBrowser在改变事物,因此InAppBrowser对视口/缩放级别有一定的控制。我的问题是关于我如何控制/指导它。