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

Javascript 创建重定目标对象时的触发器函数,javascript,laravel,Javascript,Laravel,我已经在我的laravel应用程序中实现了这个插件,我有一些与插件无关的问题 位于标题上的脚本。。。当加载页面时,它创建了一个对象以及仅在以下情况下才需要执行的函数 _ra.ready !== undefined 问题在于我只需要在加载页面并发送数据时执行的函数,因为脚本只运行一次。对于需要在操作(按钮等)上尝试的功能,这不是问题 例如,当用户在类别页面上输入时,需要加载此脚本 function send_category() { var _ra = _ra || {}; _

我已经在我的laravel应用程序中实现了这个插件,我有一些与插件无关的问题

位于标题上的脚本。。。当加载页面时,它创建了一个对象以及仅在以下情况下才需要执行的函数

_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.sendCategory)

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

我想用这个:

window.addEventListener('load', (event) => {
  send_category();
});
但我所知道的加载事件将在所有图像和子帧加载完毕后执行

此事件是否“加载”。。。等待使用创建_ra对象???

window.addEventListener('load', (event) => {
  send_category();
});
似乎有效