微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 从外部脚本生成的元素中删除DOM元素

页面中,我有由外部脚本生成的第三方广告内容.加载此内容需要一些时间.我想从广告内容删除换行符 – 为此,必须等到外部脚本加载并且该脚本中调用的所有函数都已停止运行.我正在修改以下想法,但我想它只会等到外部脚本加载:

$.getScript( "http://www.external_site.com/widget.js").done( function(data, textStatus, jqxhr) {
     $('.result').find('br').remove();  
});

调用.remove()函数之前,等待外部脚本执行所有DOM操作的最佳方法是什么?

解决方法:

一种方法似乎是监听从新创建和插入的< script>触发的onreadystatechange和load事件.元素,运行JavaScript.

这适用于链接(简单)演示,但我不能证明它对大型项目的可靠性:

// listening for the onreadystatechange and/or load
// events fired from the newly-added "script" elements:
$('script').on('onreadystatechange load', function (e) {
    // performs the following simple/contrived functionality:
    $('body').find('br').remove();
});

JS Fiddle demo.

参考文献:

> JavaScript:

> readystatechange event.

> JS小提琴:

> Echo JavaScript File and XHR requests.

> jQuery:

> jQuery.getScript().

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐