我正在尝试制作我的第一个基于JS的adobe air应用程序。
但我已经陷入了困境。
以下是导致错误的代码
var RunUrl = 'http://www.lilpirate.net';
var firstRunUrl = 'http://www.netbloo.com';
var snxApp = air.EncryptedLocalStore.getItem( 'snxApp' );
var semail = snxApp.readUTFBytes( snxApp.bytesAvailable );
if( semail!='786') {
data = new air.ByteArray();
data.writeUTFBytes( '786' );
air.EncryptedLocalStore.setItem( 'snxApp', data );
var snxUrlToLoad = firstRunUrl;
}
else
var snxUrlToLoad = RunUrl;
从adl编译时,会抛出错误 -
TypeError:表达式'snxApp'[null]的结果不是对象。
帮助!
答案 0 :(得分:0)
您正在访问bytesAvailable
的属性(readUTFBytes
和snxApp
)而未检查以确保它首先存在。如果您尚未使用setItem
存储具有该名称的任何内容,则会null
。
以下是if
语句的外观示例:
var snxApp = ...;
var semail;
if (snxApp !== null) {
semail = snxApp.readUTFBytes( snxApp.bytesAvailable );
}
...