使用 EncryptedLocalStore 时出现 Javascript 错误

标签 javascript air

我正在尝试制作我的第一个基于 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: Result of expression 'snxApp' [null] is not an object.

救命!

最佳答案

您正在访问 snxApp 的属性(bytesAvailablereadUTFBytes),而没有首先检查以确保它存在。如果您尚未使用 setItem 来存储具有该名称的任何内容,则它将为 null

以下是使用 if 语句的示例:

var snxApp = ...;
var semail;
if (snxApp !== null) {
    semail = snxApp.readUTFBytes( snxApp.bytesAvailable );
}
...

关于使用 EncryptedLocalStore 时出现 Javascript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3701071/

相关文章:

javascript - 需要获取所有子组件实例的所有值并在父方法: ReactJS中使用它

android - 在 Air Mobile 中加载外部交互式 swf

android - Keystore SHA1 不同于来自 APK 的 cert.rsa SHA1

javascript - 什么工具集用于创建这些很酷的动画和有趣的页面设计?

javascript - 拉斐尔 : trying to add semi-animated text to Spinner graphic

javascript - 如何防止模型冲突?

Javascript 代码在 IE11 移动浏览器中未定义,但在 Chrome、Firefox、IE 中工作

Flash Builder 4 突然停止对某些类进行自动完成

apache-flex - 在 flex/air 中使用 ssl 调用具有不受信任证书的 Web 服务

actionscript-3 - Adobe Air - 检查互联网连接