Alloy-Script/Javascript 在动态加载中 JSP

Alloy-Script/Javascript in dynamically loaded JSP

我目前正在使用 Ajax 调用动态加载各种 JSP。但是,一旦加载了 JSP,其中包含的 Javascript 的 none 就可以正常工作。我假设这是因为里面的脚本还没有被解析。

为此,我找到了模块 "aui-parse-content",根据其描述,它应该能够解析包含的脚本。

The ParseContent Utility - Parse the content of a Node so that all of the javascript contained in that Node will be executed according to the order that it appears.

但是,我无法让它工作。这是我的 AUI:Script 供参考。

    <portlet:resourceURL var="viewContentURL">
            <portlet:param name="jsp" value="<%= tmp %>"/>
    </portlet:resourceURL>

        <div id="<portlet:namespace />jspcontent"></div>

        <aui:script use="aui-base, aui-io-request,aui-parse-content, aui-node"> 
                var url = '<%= viewContentURL.toString() %>';
                AUI().io.request(
                    url,
                    {
                        on:{ 
                            success: function(){
                                var message = this.get('responseData');
                                //alert(message);
                                AUI().one('#<portlet:namespace />jspcontent').html(message);
                                AUI().one('#<portlet:namespace />jspcontent').plug(AUI().Plugin.ParseContent);
                            },
                            failure: function(){
                                alert("An error occured");
                            }
                        }
                    }

                );  
        </aui:script>

提前致谢!

-约翰

编辑: 由于我不久前找到了一个修复程序,而其他人可能有同样的问题,这就是我如何让 aui-parse-content 工作的方法:

    on:{ 
                            success: function(){
                                var message = this.get('responseData');
                                var tmp = A.one('#<portlet:namespace />jspcontent');
                                tmp.html(message);

                                tmp.plug(A.Plugin.ParseContent);
                                tmp.ParseContent.parseContent(message);
                            },
    }

我不久前找到了一个修复程序,其他人可能也有同样的问题这就是我让 aui-parse-content 工作的方式:

on:{ 
                        success: function(){
                            var message = this.get('responseData');
                            var tmp = A.one('#<portlet:namespace />jspcontent');
                            tmp.html(message);

                            tmp.plug(A.Plugin.ParseContent);
                            tmp.ParseContent.parseContent(message);
                        },
}

我还修改了原来的 post 以反映我的发现