2014-10-24 2 views
2

У меня проблемы с использованием плагина InAppBrowser из Кордовы, я не могу активировать масштабирование.Кордова InAppBrowser не масштабируется

Я добавил плагин InAppBrowser мое приложение и я звоню это как так ..

HTML: примечание - Я попытался изменить/удаление мета-теги, но ничего не сделал никакой разницы

<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:

/** 
* 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:

<a onclick="loadExternalUrl('http://www.someurl.co.uk')">url</a> 

Он загружает веб-страницу в порядке, проблема заключается в ее невероятном увеличении, и я не имею никакого контроля над прессованием или масштабированием. Я прочитал несколько сообщений, но не могу заставить его работать.

Кордова версии:

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

<feature name="InAppBrowser"> 
    <param name="android-package" value="org.apache.cordova.inappbrowser.InAppBrowser" /> 
</feature> 

Если кто-то может пролить некоторый свет на то, почему я не могу увеличить, то я был бы очень благодарен!

Заранее благодарен!

+0

Говоря «активировать зум», вы имеете в виду масштабирование зума. Не могли бы вы попытаться удалить метатег «viewport»? – cforcloud

ответ

3

Я предлагаю изменение

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

в

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

Вы также можете добавить к вашей config.xml проектов (хотя это может быть iOS specific thing):

<preference name="EnableViewportScale" value="true"/> 
+0

Я пробовал это, но оказалось, что это была проблема с моим плагином. Спасибо хоть – woolm110

1

Наконец-то я нашел решение, поэтому решил, что поделюсь.

Для начала выясняется, что я редактировал старый индексный файл, поэтому любые изменения не влияли. Как только я понял это, я заметил, что я в том числе cordova.js дважды, один раз в голову и один раз ниже тела, это вызывает следующее сообщение об ошибке произойдет

module org.apache.inappbrowser does not exist 

я удалил это, но до сих пор не может получить плагин для работы, я использовал CLI, чтобы добавить и удалить плагин несколько раз, но все равно не радость.

После нескольких часов копания я понял, что старый код лишнего плагина в нескольких каталогах, я удалил все плагин из следующих каталогов, вместе с файлом android.json:

[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 

После того, как я удалил все это я затем добавил плагин

cordova plugin add org.apache.cordova.inappbrowser 

Это, кажется, исправило все для меня, так что, надеюсь, это поможет кому-то еще!

 Смежные вопросы

  • Нет связанных вопросов^_^