创建重定目标对象时的触发器函数



我已经实现了这个插件https://retargeting.biz/plugins/custom在我的laravel应用程序中,我有一些问题不是插件。。。

位于标头上的脚本。。。当页面被加载时,它创建了一个对象ra和只在时需要执行它的函数

_ra.ready !== undefined

问题是只有在加载页面并发送数据时才需要执行的函数,因为脚本只运行一次。对于需要在操作(按钮等(上触发的函数,这不是问题。

例如,当用户在类别页面上输入时,需要加载此脚本。

function send_category() {
var _ra = _ra || {};
_ra.sendCategoryInfo = {
"id": 20,
"name": "Shoes",
"url": 'url_to_the_page',
"parent": false,
"breadcrumb": [] 
};
if (_ra.ready !== undefined) {
_ra.sendCategory(_ra.sendCategoryInfo);
}
}

我所做的是:

if (document.readyState !== 'loading') {
send_category();
} else {
document.addEventListener('DOMContentLoaded', (event) => {
send_category();
})
}

但是。。。有时

_ra.ready = undefined

因为函数正在运行,对象_ra尚未创建,函数尚未执行(_ra.sendCategory(

在这种情况下,你会怎么做?

我想用这个:

window.addEventListener('load', (event) => {
send_category();
});

但我所知道的加载事件将在所有图像和子帧都完成加载时完成。

这个事件";加载"。。。等待_ra对象创建完成???

使用

window.addEventListener('load', (event) => {
send_category();
});

似乎有效。

最新更新