2011-09-15 23 views
0

我使用Aptana studio从示例jquery代码构建AIR应用程序。示例代码使用模板插件,此处详细说明了代码 - http://api.jquery.com/template-tag-tmpl/“使用递归嵌套{{tmpl}}标签的树视图。”AIR应用程序中的jQuery模板引发安全违规

最初的渲染工作正常,但是当我在样本节点上单击展开,它会引发安全异常 - 错误:Adobe AIR运行时的安全性侵犯在应用程序安全沙箱中的JavaScript代码(Function构造)

调试指出违规发生在父模板的更新调用中。

 $("#samplesList").delegate(".toggle", "click", function(){ 
      /* Toggle expanded property on data, then update rendering */ 
      var tmplItem = $.tmplItem(this); 
      tmplItem.data.expanded = !tmplItem.data.expanded; 
*>>>   tmplItem.update(); >>> VOILATION HERE* 
     }).delegate(".folderItem", "click", function(){ 
      alert($.tmplItem(this).data.description); 
     }); 

有什么想法?

回答

2

不幸的是,唯一的解决方案是在开始时预编译模板(在文档准备就绪中)。无论如何,这是一个很好的做法并节省执行时间。

导致安全违规的所有操作的列表可以找到here。模板(也是,underscore.js _.template函数)通过​​使用Function构造函数违反了Adobe政策。