首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BlackBerry-10 Webworks Javascript错误

BlackBerry-10 Webworks Javascript错误
EN

Stack Overflow用户
提问于 2012-12-27 06:12:06
回答 1查看 446关注 0票数 0

我正在用webworks框架为黑莓10 os开发一个应用程序。当我在bb10 dev alpha设备中运行以下代码时,我会得到一个控制台日志,其中包含一个bbui按钮,并在单击函数restore之后调用。以下发布了javascript代码。

代码语言:javascript
复制
        var text="FN: Mohammed;Shinoys\n";
        var a=new Array();

        a=["N","FN","NICKNAME","TEL;CELL",
           "TEL;TYPE=CELL","TEL;HOME","TEL;TYPE=HOME",
            "EMAIL;HOME","EMAIL;TYPE=HOME","EMAIL;WORK",
            "EMAIL;TYPE=WORK","ADR;HOME","ADR;TYPE=HOME",
            "LABEL;HOME","LABEL;TYPE=HOME","ADR;WORK",
            "ADR;TYPE=WORK","LABEL;WORK","LABEL;TYPE=WORK","NOTE","ORG","TITLE"];

        function restore()
        {
         var contacts = blackberry.pim.contacts;
        var contactAddress = contacts.ContactAddress;
        var contactField = contacts.ContactField;
        var name = new Object();
        var ename;
        var bb= new Object();
        var tt= new Object();
        var textarray=new Array();
        var arr=new Array();
        var s=new Array();
        var str,check,string;
        var textarray2=new Array();
        var newcontact = new Object();
        console.log("entered function");
        newcontact=contacts.create({name:{givenName:"Hello",familyName:"World"}});
        console.log("NEWCONTACT: " + newcontact.ContactName.givenName);

        for(var k=0;k<a.length;k++)
        {
            str=a[k];
            check=text.match(RegExp("^"+str+":","i"));
            if(check===null)
            continue;
        //alert(check);
            console.log(str);
            string=text.replace(RegExp("^"+str+":","i"),"");
            console.log("string"+string);

            switch(k)
            {case 0 : 
                        arr=string.split(";");
                        console.log("name "+arr);
                        newcontact.ContactName.familyName=arr[0];
                        newcontact.ContactName.givenName=arr[1];
                        break;
             case 1 :   console.log("ASDADAD");
                        newcontact.ContactName.formatted=string;
                        console.log("FULL name "+arr);
                        ename=string;
                        break;
             case 2 : newcontact.ContactName.phoneticGivenName=string;
                        break;
             case 3 : 
                        case 4 : tt={type:contactField.MOBILE,value:string};
                        newcontact.phoneNumbers[newcontact.phoneNumbers.length]=tt;
                        break;
              case 5 :
              case 6 : tt={type:contactField.HOME,value:string};
                        newcontact.phoneNumbers[newcontact.phoneNumbers.length]=tt;
                        break;
              case 7 : 
              case 8 :  tt={type:contactField.HOME,value:string};
                        newcontact.emails[newcontact.emails.length]=tt;
                        break;
              case 9 : 
              case 10 : tt={type:contactField.WORK , value:string};
                        newcontact.emails[newcontact.emails.length]=tt;
                        break;
              case 11 : 
              case 12 : s=string.split(";");
                        bb={type:contactAddress.HOME,streetAddress:s[2],locality:s[3],region:s[4],postalCode:s[5],country:s[6]};
                        newcontact.addresses[newcontact.addresses.length]=bb;
                        break;
              case 13 : 
              case 14 : if(newcontact.addresses[0].type===contactAddress.HOME)
                        newcontact.addresses[0].formatted=string;
                        if(newcontact.addresses[1].type===contactAddress.HOME)
                        newcontact.addresses[1].formatted=string;
                        break;
              case 15 : 
              case 16 : s=string.split(";");
                        bb={type:contactAddress.HOME,streetAddress:s[2],locality:s[3],region:s[4],postalCode:s[5],country:s[6]};
                        newcontact.addresses[newcontact.addresses.length]=bb;
                        break;
              case 17 : 
              case 18 :if(newcontact.addresses[0].type===contactAddress.WORK)
                        newcontact.addresses[0].formatted=string;
                        if(newcontact.addresses[1].type===contactAddress.WORK)
                        newcontact.addresses[1].formatted=string;
                        break;
              case 19 :newcontact.note=string;
                        break;
              case 20 :newcontact.organizations[0]={name:string};
                        str=a[k+1];
                        check=text.match(RegExp("^"+str,"i"));
                        if(check!==null)
                        {string=text.replace("^"+str+":","");
                        newcontact.organizations[0]={title:string};
                        }
                        break;
            }

        } 
           newcontact.save(onSaveSuccess,onSaveError);
        }

        function onSaveSuccess(contact) {
           alert("Contact saved: " + contact.name.givenName);
        }
        function onSaveError(error) {
           alert("Contact : save failed: " + error.code);
        }

任何帮助都是非常感谢的。看待shinoys222

EN

回答 1

Stack Overflow用户

发布于 2013-01-14 15:36:58

从问题的描述来看,如果页面找不到恢复函数,那就意味着这个JavaScript代码没有正确加载。建议您检查以确保正确引用屏幕上的JS文件,如下所示:

代码语言:javascript
复制
<div data-bb-type="screen" data-bb-indicator="true">
    <script id="myJS" src="js/my.js"></script>

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

https://stackoverflow.com/questions/14050213

复制
相关文章

相似问题

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