0

我正在使用 Ajax 加载页面,并在该页面上从issuu.com. 它在我或 Ajax 第一次加载页面时工作得非常好,但是如果 Ajax 加载一个新页面然后再次返回,它将不会再次运行外部脚本(它加载脚本,但不执行它)。

这是页面:http ://dymak-corporate.134.lait.dk/catalogue/

例如,您可以在浏览器开发工具的网络选项卡中看到它两次加载脚本,但只执行第一次。

我试图以我能想到的各种方式加载和执行脚本,但没有任何效果。

jQuery 获取脚本:

 $.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');

我也尝试内联添加它,但没有成功。

4

2 回答 2

0

这不是 JavaScript 应该如何工作的。文件包含不像函数调用,但您将其视为函数调用。

你应该怎么想:

我想打电话some_module.some_function()some_module加载了吗?

不。加载具有模块的文件,然后执行该功能。

是的。只需执行该功能。

于 2013-06-25T14:59:42.847 回答
0

我最终只使用了 issuu 的 iframe 实现

于 2013-07-10T09:07:25.787 回答