我是Cordova和JS的新手,并且一直在努力使用Cordova 3.4.0的InAppBrowser插件在iOS(Xcode v5.0.2)中工作。
使用这些命令行命令成功构建了cordova项目:
cordova create InAppBrowserTest3-4 local.test InAppBrowser_Test3-4
cordova plugin add org.apache.cordova.inappbrowser
cordova platform add ios
cordova plugins
[ 'org.apache.cordova.inappbrowser' ]
www配置文件包含:
<feature name="InAppBrowser">
<param name="ios-package" value="CDVInAppBrowser" />
</feature>
只有这些附加命令被添加到生成的onDeviceReady方法中才能运行InAppBrowser:
onDeviceReady:function(){ app.receivedEvent( 'deviceready');
//added these lines below
alert('deviceReady');
var ref = window.open('http://apache.org', '_blank', 'location=yes');
ref.addEventListener('loadstart', function(event) { alert('start: ' + event.url); });
ref.addEventListener('loadstop', function(event) { alert('stop: ' + event.url); });
ref.addEventListener('loaderror', function(event) { alert('error: ' + event.message); });
ref.addEventListener('exit', function(event) { alert(event.type); });
alert('end deviceReady');
}
执行时,不会调用最后一个警报,也不会打开任何浏览器。类似的代码使用Cordova 2.9.0成功运行。
有没有人有任何建议?我已阅读了几篇类似的帖子,但尚未找到解决方案。
答案 0 :(得分:5)
要解决此问题,请尝试以下操作:
cordova create hello com.example.hello HelloWorld
cd hello
cordova platform add android
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-inappbrowser.git
cordova build
请注意“cordova build”步骤,该步骤会创建platform/ios/www
目录,您可以在其中找到正确安装了文件夹插件的文件cordova_plugins.js
。
答案 1 :(得分:0)
我尝试手动将数据添加到platforms/ios/www/plugins/cordova_plugins
,但每当我执行run ios
时,它都会被构建过程覆盖。对我有用的是cordova platform remove ios
然后cordova platform add ios
。
这出现在我的cordova_plugins.js文件中:
{
"file": "plugins/org.apache.cordova.inappbrowser/www/inappbrowser.js",
"id": "org.apache.cordova.inappbrowser.inappbrowser",
"clobbers": [
"window.open"
]
},
它留在那里。现在工作正常。
答案 2 :(得分:0)
我在云上使用PhoneGap编译。
包括
<gap:plugin name="org.apache.cordova.inappbrowser" version="0.2.4" />
进入xml配置文件。确保你的cordova.js在其他javascript的顶部包含在index.html中。这应该有用。