在页面中,我有由外部脚本生成的第三方广告内容。加载此内容需要一些时间。我想从广告内容中删除换行符 - 为此,必须等到外部脚本加载并且该脚本中调用的所有函数都已停止运行。我正在修改以下想法,但我想它只会等到加载外部脚本:
function getWeeklyDates2($from, $to, $includeFrom = false, $includeTo = true) {
$from = strtotime($from);
$to = strtotime($to);
if($includeFrom===false)
$from = strtotime("+7 day", $from);
$dates = array();
$current = $from;
while($includeTo ? $current <= $to : $current < $to) {
$dates[] = $current;
$current = strtotime("+7 day", $current);
}
return $dates;
}
$dates2 = getWeeklyDates2('2015-04-01', '2015-04-29', false, true);
foreach($dates2 as $date)
echo date("Y-m-d", $date) ."<br />";
在调用.remove()函数之前,等待外部脚本执行所有DOM操作的最佳方法是什么?
答案 0 :(得分:5)
一种方法似乎是监听从新创建和插入的onreadystatechange
元素中触发的load
和<script>
事件,其中运行了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();
});
参考文献: