我正在使用Ajax加载页面,在该页面上我正在加载issuu.com
的外部脚本。第一次我或Ajax加载页面时它非常好用,但是如果Ajax加载一个新页面然后再返回它将不再运行外部脚本(它加载脚本,但不执行它)。 / p>
这是页面:http://dymak-corporate.134.lait.dk/catalogue/
你可以在例如浏览器开发工具的网络选项卡,它会同时加载脚本,但只在第一次执行。
我试图以我能想到的各种方式加载和执行脚本,但没有任何工作。
jQuery GetScript:
$.getScript("//e.issuu.com/embed.js")
Ajax加载脚本并对其进行评估:
$.ajax({
url: "/scripts/embed.js",
success: function (responseText) {
eval(responseText);
}
});
每次添加到标题并在添加之前将其删除:
$('#issuuScript').remove();
var s = document.createElement("script");
s.id = "issuuScript";
s.src = "//e.issuu.com/embed.js";
document.head.append(s);
在每次加载时重新加载:
function reload_js(src) {
$('script[src="' + src + '"]').remove();
$('<script>').attr('src', src).appendTo('head');
}
reload_js('/scripts/embed.js');
我也尝试将其内联添加,但没有成功。
答案 0 :(得分:0)
这不是JavaScript的工作方式。文件包含不像函数调用,但您将其视为函数调用。
你应该如何思考:
我想致电some_module.some_function()
。 some_module
已加载吗?
否。加载包含该模块的文件,然后执行该功能。
是。只需执行此功能。
答案 1 :(得分:0)
我最后只使用了issuu的iframe实现