gpt4 book ai didi

javascript - 如何在执行嵌入式脚本时仅插入使用 $.ajax() 加载的完整页面的一部分?

转载 作者:行者123 更新时间:2023-11-30 06:54:43 27 4
gpt4 key购买 nike

我正在使用 $.ajax()如果满足某些条件(基于 Flash 的广播播放器处于事件状态),则在我的网站上加载新页面。但是,对于这种情况,我不想修改服务器端输出。

现在我需要一种方法来将响应嵌入我的页面(使用 .replaceWith() 可以轻松完成),还可以执行嵌入在该页面上的 javascript。

我的一个想法是创建一个类似 <div id="onload" data-onload="functionname" data-onload-args="json-for-the-function-args"> 的虚拟 div但也许有更好的方法不需要更改我的 html 代码(即纯 js/jquery 解决方案)。


请注意,使用 $(elem).load() 不可能,因为如果只使用检索到的文档的一个片段,它不会评估任何脚本:

// inject the contents of the document in, removing the scripts
// to avoid any 'Permission Denied' errors in IE

我不知道有关此 IE 问题的任何详细信息,但当然,无论您要建议的任何代码都不应在最近的 IE 版本中导致错误(我不关心 IE6)。

最佳答案

类似的东西:

$('container').html(text_from_ajax_request);
$('container script').each(function(){
var $this = $(this);
src = $this.attr('src');

src ? $.getScript(src) : eval($(this).text());
});

关于javascript - 如何在执行嵌入式脚本时仅插入使用 $.ajax() 加载的完整页面的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6603867/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com