起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4989|回复: 12

[处理中6] 关于cordova插件的引用问题

[复制链接]

15

主题

57

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
QQ
发表于 2016-3-21 17:43:44 | 显示全部楼层 |阅读模式
APP结构:首页为shell,主页为index.w;我要使用cordova的文件打开和下载程序,代码如下:
define(function(require){
        var $ = require("jquery");
        var justep = require("$UI/system/lib/justep");
        require("cordova!com.phonegap.plugins.videoplayer");
        require("cordova!net.yoik.cordova.plugins.screenorientation");
       
        require("$UI/system/lib/cordova/cordova");
        require("cordova!org.apache.cordova.file");
        require("cordova!de.fastr.phonegap.plugins.downloader");
        require("cordova!org.apache.cordova.open");
       
       
        var Model = function(){
                this.callParent();
        };

        Model.prototype.btCpjjClick = function(event){
                //打开产品介绍doc
                var maindata = this.comp('maindata');
                var strfCx = maindata.getCurrentRow().val('fCx');//取当前选中行的车型值,准备给src动态赋值
                var strFileName=strfCx+".doc";
                var strUrl="file:///storage/emulated/0/jcsjfiles/cpjj/"+strFileName;
//                alert(strUrl);

                //这里有黄叹号:cordova未定义
                var open = cordova.plugins.disusered.open;
                function success() {

                //这里在执行的时候,明明没有这个文件,却还是执行了这个                        justep.Util.hint(strFileName+'已打开...');
                }
                function error(code) {
                        //下载文件,这里没执行
                        justep.Util.hint(strFileName+'无此文件,开始下载...');
                        var fileName = downloader.get("http://jcsj.qrrs.com.cn:8080/jcsj/cpjj/"+strFileName);
                        justep.Util.hint("文件"+fileName + "下载成功");
                }
                //这里在执行的时候,提示cannot read property ‘plugins’ of undefined                open(strUrl, success, error);
        };
       
        Model.prototype.modelLoad = function(event){
                //这里有黄叹号:downloader未定义;还有APP装到手机里后,执行时提示cannot read property ‘init’ of undefined                downloader.init({
                        folder : "file:///storage/emulated/0/jcsjfiles/cpjj/",
                });
        };
       
        return Model;
});

15

主题

57

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
QQ
 楼主| 发表于 2016-3-21 17:47:21 | 显示全部楼层
补充一下:
我是在index.w中引用cordova,初始化downloader的;
不是在shell外壳页shell.w中引用和初始化的。
回复 支持 反对

使用道具 举报

发表于 2016-3-22 09:37:08 | 显示全部楼层
zhongming0452 发表于 2016-3-21 17:47
补充一下:
我是在index.w中引用cordova,初始化downloader的;
不是在shell外壳页shell.w中引用和初始化的 ...

请问是使用的3.4版本吗??3.4版本中的cordova是做了升级的!你的cordova引用的名称应该不一致!
还有就是确定下cordova插件是否成功打包到app中了!如果没打包在app中,肯定是无法调用,
你是真机调试吗???
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

15

主题

57

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
QQ
 楼主| 发表于 2016-3-22 11:19:41 | 显示全部楼层
liangyongfei 发表于 2016-3-22 09:37
请问是使用的3.4版本吗??3.4版本中的cordova是做了升级的!你的cordova引用的名称应该不一致!
还有就 ...

我用的3.3的wex5,
在js里做了应用,打包时是自动选择cordova插件的,所以不知道有没有打到APP里
我是真机调试的,而且,如果把文件手动存储到手机的对应目录下的话,是可以打开的

现在的问题是:
1.使用open的那段程序,file:///目录下没有文件时,也是执行的success函数,而不是调用error函数,就无法下载;
2.downloader的初始化程序似乎写的不对;
3.error函数中的downloader那一段不知道写的对不对,因为初始化时就报错了,所以没法知道使用downloader的那段对不对。
回复 支持 反对

使用道具 举报

15

主题

57

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
QQ
 楼主| 发表于 2016-3-22 13:55:33 | 显示全部楼层
liangyongfei 发表于 2016-3-22 09:37
请问是使用的3.4版本吗??3.4版本中的cordova是做了升级的!你的cordova引用的名称应该不一致!
还有就 ...

拜托啦,真的很急!
回复 支持 反对

使用道具 举报

发表于 2016-3-22 13:56:01 | 显示全部楼层
zhongming0452 发表于 2016-3-22 11:19
我用的3.3的wex5,
在js里做了应用,打包时是自动选择cordova插件的,所以不知道有没有打到APP里
我是真 ...

插件有没有打到包里,可以把apk 文件 修改后缀名 zip然后使用压缩工具打开这个目录,看看有没有插件的包!如图:

也可以打包的时候,强行勾选那个插件,打到包里!保证插件一定存在!
还有js中引入的插件名称要正确!!
KI4L{)V)~XJXIUU9S(I3.png
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

15

主题

57

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
QQ
 楼主| 发表于 2016-3-22 15:24:42 | 显示全部楼层
liangyongfei 发表于 2016-3-22 13:56
插件有没有打到包里,可以把apk 文件 修改后缀名 zip然后使用压缩工具打开这个目录,看看有没有插件的包 ...

只是插件的问题吗?我写的程序没问题是吗?
downloader初始化程序中的存储路径对吗?
open(url,success,error);这一段也有问题啊,Url下根本就没有文件,还是没执行error函数中的下载程序啊!

拜托,真的很急!!!帮我好好看看好吗?不只是插件打包的问题吧
回复 支持 反对

使用道具 举报

15

主题

57

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
QQ
 楼主| 发表于 2016-3-22 15:29:50 | 显示全部楼层
liangyongfei 发表于 2016-3-22 13:56
插件有没有打到包里,可以把apk 文件 修改后缀名 zip然后使用压缩工具打开这个目录,看看有没有插件的包 ...

刚看过了,所有引用的插件都在包里啊!

真的很急的,拜托拜托了啊!!!
回复 支持 反对

使用道具 举报

15

主题

57

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
QQ
 楼主| 发表于 2016-3-22 16:10:33 | 显示全部楼层
liangyongfei 发表于 2016-3-22 13:56
插件有没有打到包里,可以把apk 文件 修改后缀名 zip然后使用压缩工具打开这个目录,看看有没有插件的包 ...

拜托拜托,很急很急!!!
帮我好好看看我那段程序
插件都已经在包里了
问题也都说了好几遍了,拜托帮我好好看看,尽快吧,今晚不睡觉在这等着
回复 支持 反对

使用道具 举报

发表于 2016-3-22 17:25:19 | 显示全部楼层
本帖最后由 liangyongfei 于 2016-3-22 17:28 编辑
zhongming0452 发表于 2016-3-22 15:24
只是插件的问题吗?我写的程序没问题是吗?
downloader初始化程序中的存储路径对吗?
open(url,success ...

如果插件正确打包进去了!
那就只能真机调试看看,运行时执行到哪一步出错的!
也可以参考平台的案例

/UI2/demo/native/downloader/index.w

在所有的回调方法中都写上debugger ,看看代码执行的过程!
至于方法的调用,也要看插件api是怎么写的!你要参考着写!我也不确定方法写的格式对不对啊!

调试请模式3打包!


qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-4 00:09 , Processed in 0.060192 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表