首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cordova InAppBrowser不缩放

Cordova InAppBrowser不缩放
EN

Stack Overflow用户
提问于 2014-10-25 01:33:54
回答 2查看 5.4K关注 0票数 3

我在使用科尔多瓦的InAppBrowser插件时遇到了问题,我似乎无法激活缩放功能。

我已经将InAppBrowser插件添加到我的应用程序中,我这样命名它。

HTML:注意-我尝试过更改/删除meta标记,但没有任何效果

代码语言:javascript
复制
<head>
    <meta http-equiv="x-ua-compatible" content="IE=edge">
    <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
    <link rel="stylesheet" type="text/css" href="css/reset.css">
    <link rel="stylesheet" type="text/css" href="css/snap.css">
    <link rel="stylesheet" type="text/css" href="css/styles.css">
    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
</head>

JavaScript:

代码语言:javascript
复制
/**
 * Global window.open
 * InAppBrowser Plugin
 * http://cordova.apache.org/docs/en/3.0.0/cordova_inappbrowser_inappbrowser.md.html
 */

var iabRef = null;

function iabLoadStart(event) {
    spinner.spin(target);
}

function iabLoadStop(event) {
    spinner.stop();
}

function iabLoadError(event) {
    // alert(event.type + ' - ' + event.message);
}

function iabClose(event) {
     iabRef.removeEventListener('loadstart', iabLoadStart);
     iabRef.removeEventListener('loadstop', iabLoadStop);
     iabRef.removeEventListener('loaderror', iabLoadError);
     iabRef.removeEventListener('exit', iabClose);
}

function loadExternalUrl(url) {
    iabRef = window.open(url, '_blank', 'location=yes,EnableViewPortScale=yes');
    iabRef.addEventListener('loadstart', iabLoadStart);
    iabRef.addEventListener('loadstop', iabLoadStop);
    iabRef.removeEventListener('loaderror', iabLoadError);
    iabRef.addEventListener('exit', iabClose);
    return false;
}

HTML:

代码语言:javascript
复制
<a onclick="loadExternalUrl('http://www.someurl.co.uk')">url</a>

它可以很好地加载网页,但问题是它的放大效果令人难以置信,而我无法控制收缩或缩放。我已经读了几篇文章,但似乎不能让它工作。

Cordova版本:

代码语言:javascript
复制
cordova -v => 4.0.0
cordova plugin list => org.apache.cordova.inappbrowser 0.5.4-dev "InAppBrowser"
cordova platform version android => android 3.6.4

Manifest.xml

代码语言:javascript
复制
<feature name="InAppBrowser">
    <param name="android-package" value="org.apache.cordova.inappbrowser.InAppBrowser" />
</feature>

如果有人能解释为什么我不能缩放,我将不胜感激!

提前感谢!

EN

回答 2

Stack Overflow用户

发布于 2014-10-25 06:19:52

我建议你改变一下

iabRef = window.open(url, '_blank', 'location=yes,EnableViewPortScale=yes');

iabRef = window.open(url, '_blank', 'location=yes,enableviewportscale=yes');

您可能还想将其添加到您的项目config.xml中(尽管它可能是一个iOS specific thing):

代码语言:javascript
复制
<preference name="EnableViewportScale" value="true"/>
票数 4
EN

Stack Overflow用户

发布于 2014-10-27 22:32:01

我终于找到了一个解决方案,所以我想我应该分享一下。

首先,我发现我正在编辑一个旧的索引文件,所以任何更改都不会生效。一旦我意识到这一点,我注意到我包含了两次cordova.js ,一次在头部,一次在身体下面,这导致了以下错误发生

代码语言:javascript
复制
module org.apache.inappbrowser does not exist

我删除了这个插件,但仍然不能让插件工作,我使用CLI添加和删除了几次插件,但仍然没有效果。

经过几个小时的挖掘,我意识到我在几个不同的目录中有旧的冗余插件代码,我删除了以下目录中的所有插件,以及android.json文件:

代码语言:javascript
复制
[my_project]/plugins
[my_project]/platforms/android/src/org/apache/cordova/inappbrowser
[my_project]/platforms/android/cordova/plugins/
[my_project]/platforms/android/assets/www/plugins

一旦我删除了所有这些,我就添加了插件

代码语言:javascript
复制
cordova plugin add org.apache.cordova.inappbrowser

这似乎已经解决了我的一切,所以希望它能帮助其他人!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26553234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档