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 以反映我的发现
我目前正在使用 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 以反映我的发现