我正在用webworks框架为黑莓10 os开发一个应用程序。当我在bb10 dev alpha设备中运行以下代码时,我会得到一个控制台日志,其中包含一个bbui按钮,并在单击函数restore之后调用。以下发布了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
发布于 2013-01-14 15:36:58
从问题的描述来看,如果页面找不到恢复函数,那就意味着这个JavaScript代码没有正确加载。建议您检查以确保正确引用屏幕上的JS文件,如下所示:
<div data-bb-type="screen" data-bb-indicator="true">
<script id="myJS" src="js/my.js"></script>
</div>https://stackoverflow.com/questions/14050213
复制相似问题