如何动态加载gwt生成的nocache.js文件?
我想使用JQuery动态加载GWT生成的foo/foo/nocache.js
文件。 某些浏览器不执行此foo/foo/nocache.js
文件。 如果我通过使用GWT样式使用JQuery正常放置脚本,那么在页面加载后它会动态生成脚本(即..,jquery.onInjectDone(’jquery’))。 现在,如果我使用JQuery或javaScript创建此脚本标记,则它不会生成动态生成的脚本。
现在我如何确保使用jQuery执行foo/foo/nocache.js
?
码:
$(document).ready(function() { $("#clickMe").click(function() { // This /foo/foo.nocache.js which is generated by GWT compiler. $.getScript("/foo/foo.nocache.js", function(data, textStatus, jqxhr) { console.log(data); //data returned console.log(textStatus); //success console.log(jqxhr.status); //200 console.log('Load was performed.'); }); }); }); Web Application Starter Project
clickMe
输出:
ReferenceError:未定义foo
根据您使用的链接器,在文档创建完成后无法加载.nocache.js
脚本,因为它使用document.write
加载适当的排列(请参阅IFrameTemplate.js#344和XSTemplate.js#279 ) 。 这会使您页面中的所有当前内容都被覆盖。
否则,如果选择xsiframe
链接器,则可以加载脚本,但是用于计算置换位置的算法使用脚本标记或文档的位置,因此无法使用ajax加载脚本但插入脚本标记。
$("#clickMe").click(function() { $('body').append($("")); }