我正在为D2L / Brightspace页面编写用户脚本,其中的一部分是修改用户注册的课程列表。
问题是当你点击图标打开课程列表时,它会向另一个页面发出XHR请求以获取列表,然后更新页面上的元素,所以我必须等待它在以任何方式修改列表之前加载。
我目前正在做的是使setTimeout(function() {}, 500);
函数在进行任何修改之前等待半秒钟,但这在100%的时间内都不起作用。有时互联网速度较慢,加载XHR请求的时间超过半秒,因此在它存在之前会被修改,这意味着我的更改不会发生。其他时候,互联网很快,旧的列表显示大约半秒钟,然后它被改变,这看起来不太好。
我希望能够,而不是使用setTimeeout()
函数,使用允许我在XHR请求成功加载后立即运行函数的东西。
XHR请求被发送到https://d2l.ca/d2l/lp/courseSelector/440/InitPartial?...
*。有没有什么方法可以跟踪那个特定的一个并在它完成时运行一些东西?
我尝试了.ajaxStop()
,但由于这不是ajax请求,因此还需要其他内容。
谢谢:)
*链接修改略有匿名。