Шаблон jquery внутри приложения AIR вызывает нарушение безопасности - PullRequest
0 голосов
/ 15 сентября 2011

Я использую Aptana studio для создания приложения AIR из примера кода jquery. В примере кода используется плагин шаблона, код которого подробно описан здесь - http://api.jquery.com/template-tag-tmpl/ "Представление в виде дерева с использованием рекурсивных вложенных тегов {{tmpl}}."

Первоначальный рендеринг работает нормально, но когда я щелкаю по узлу примеров, чтобы развернуть, он выдает исключение безопасности - Ошибка: нарушение безопасности среды выполнения Adobe AIR для кода JavaScript в изолированной программной среде безопасности приложения (конструктор функций)

Отладчик указывает, что нарушение заключается в вызове обновления родительского шаблона.

        $("#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);
        });

Есть мысли?

1 Ответ

2 голосов
/ 07 декабря 2012

К сожалению, единственное решение - предварительно скомпилировать шаблоны (в документе готово). Это хорошая практика и в любом случае экономит время выполнения.

Список всех операций, которые приводят к нарушению безопасности, можно найти здесь . Использование шаблонов (также функция underscore.js _.template) нарушает политику Adobe, используя конструктор Function.

...