2011-09-15 25 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政策。