我一直在互聯網上搜索幾個小時,無法看到找到解決我的問題。window.open不適用於Android PhoneGP
我創建了一個簡單的Phonegap應用程序,現在我想鏈接到外部網頁。我正在科爾多瓦3.0,這裏是安裝在我的插件列表:
org.apache.cordova.core.inappbrowser 0.2.0 "InAppBrowser"
org.apache.cordova.core.splashscreen 0.2.0 "Splashscreen"
org.apache.cordova.device 0.2.3 "Device"
org.apache.cordova.inappbrowser 0.5.0 "InAppBrowser"
和這裏的如何,我試圖打開一個鏈接:在iOS上,但在Android
<a onclick="var ref = window.open('http://www.google.co.uk', '_system', 'location=yes');" id="external-link">Link</a>
所有工作完全沒問題什麼都沒發生。我檢查了logcat,我沒有收到任何錯誤,沒有反饋,它只是不起作用。
我也試過navigator.app.loadUrl
但後來我得到,說:「不能加載的不確定網址」
我真的希望這將是一個簡單的事,但到目前爲止,它的駕駛我瘋了,任何人的錯誤對我做錯了什麼有什麼建議?
僅供參考:
cordova_plugins.js
cordova.define('cordova/plugin_list', function(require, exports, module) {
module.exports = [
{
"file": "plugins/org.apache.cordova.core.splashscreen/www/splashscreen.js",
"id": "org.apache.cordova.core.splashscreen.SplashScreen",
"clobbers": [
"navigator.splashscreen"
]
},
{
"file": "plugins/org.apache.cordova.core.inappbrowser/www/InAppBrowser.js",
"id": "org.apache.cordova.core.inappbrowser.InAppBrowser",
"clobbers": [
"window.open"
]
},
{
"file": "plugins/org.apache.cordova.device/www/device.js",
"id": "org.apache.cordova.device.device",
"clobbers": [
"device"
]
},
{
"file": "plugins/org.apache.cordova.inappbrowser/www/inappbrowser.js",
"id": "org.apache.cordova.inappbrowser.inappbrowser",
"clobbers": [
"window.open"
]
},
]
});
config.xml中
<widget xmlns = "http://www.w3.org/ns/widgets"
id = "io.cordova.helloCordova"
version = "2.0.0">
<name>Hello Cordova</name>
<description>
A sample Apache Cordova application that responds to the deviceready event.
</description>
<author href="http://cordova.io" email="[email protected]">
Apache Cordova Team
</author>
<access origin="*"/>
<content src="index.html" />
<preference name="loglevel" value="DEBUG" />
<!--
<preference name="splashscreen" value="resourceName" />
<preference name="backgroundColor" value="0xFFF" />
<preference name="loadUrlTimeoutValue" value="20000" />
<preference name="InAppBrowserStorageEnabled" value="true" />
<preference name="disallowOverscroll" value="true" />
-->
<feature name="App">
<param name="android-package" value="org.apache.cordova.App"/>
</feature>
<feature name="Geolocation">
<param name="android-package" value="org.apache.cordova.GeoBroker"/>
</feature>
<feature name="Device">
<param name="android-package" value="org.apache.cordova.Device"/>
</feature>
<feature name="Accelerometer">
<param name="android-package" value="org.apache.cordova.AccelListener"/>
</feature>
<feature name="Compass">
<param name="android-package" value="org.apache.cordova.CompassListener"/>
</feature>
<feature name="Media">
<param name="android-package" value="org.apache.cordova.AudioHandler"/>
</feature>
<feature name="Camera">
<param name="android-package" value="org.apache.cordova.CameraLauncher"/>
</feature>
<feature name="Contacts">
<param name="android-package" value="org.apache.cordova.ContactManager"/>
</feature>
<feature name="File">
<param name="android-package" value="org.apache.cordova.FileUtils"/>
</feature>
<feature name="NetworkStatus">
<param name="android-package" value="org.apache.cordova.NetworkManager"/>
</feature>
<feature name="Notification">
<param name="android-package" value="org.apache.cordova.Notification"/>
</feature>
<feature name="Storage">
<param name="android-package" value="org.apache.cordova.Storage"/>
</feature>
<feature name="FileTransfer">
<param name="android-package" value="org.apache.cordova.FileTransfer"/>
</feature>
<feature name="Capture">
<param name="android-package" value="org.apache.cordova.Capture"/>
</feature>
<feature name="Battery">
<param name="android-package" value="org.apache.cordova.BatteryListener"/>
</feature>
<feature name="SplashScreen">
<param name="android-package" value="org.apache.cordova.SplashScreen"/>
</feature>
<feature name="Echo">
<param name="android-package" value="org.apache.cordova.Echo"/>
</feature>
<feature name="Globalization">
<param name="android-package" value="org.apache.cordova.Globalization"/>
</feature>
<feature name="InAppBrowser">
<param name="android-package" value="org.apache.cordova.InAppBrowser"/>
</feature>
<!-- Deprecated plugins element. Remove in 3.0 -->
<plugins>
</plugins>
</widget>
我也嘗試更新/重新添加InAppBrowser插件從CLI,但我得到一個錯誤,說它不支持我的Cordova版本和我需要的版本3.0,我跑sudo npm update -g cordova
但後來不斷得到相同的錯誤。
任何幫助將不勝感激!
感謝
在帖子中,我看到你用npm update更新了cordova,但是你是否也用「cordova platform update android」更新了你的項目? –
剛剛嘗試過,我得到以下錯誤:「android」命令失敗。請確保您已安裝最新的Android SDK,並將「android」命令(工具/文件夾內)添加到您的路徑中。 我更新了Android SDK並更新了我的路徑,但仍然沒有快樂 – woolm110
這還有什麼運氣嗎?我也無法打開inappbrowser。 –