当涉及 AJAX 时加载页面的特定部分时如何 运行 JavaScript?

How to run JavaScript when specific part of page is loaded when AJAX is involved?

我正在处理通过 AJAX 加载元素的页面,它是 CMS 类型的软件,我无法访问 ajax ,我也不知道它是回调。

我想 运行 我的函数在加载页面的特定部分时执行,当涉及 AJAX 时我该如何执行?

我的 JavaScript,它本身运行良好:Fiddle:

var personalitet = document.getElementById("personalitet").innerHTML;
document.getElementsByName("form[5553]")[0].value = personalitet;

我试过:

document.getElementById("personalitet").onload = function() {

document.addEventListener("DOMContentLoaded", function(event) {

window.onload = function(){

None 其中有效,因为在我的脚本查找元素时未加载这些元素。

您可以使用变异观察器。

var observer = new MutationObserver(function(mutations) {
    for (var i = 0; i < mutations.length; i++) {
        // PUT ACTIONS HERE
        console.log(mutations[i].type);
    }   
});

var observeElements = {
    attributes: true, 
    childList: true, 
    characterData: true 
};

observer.observe(document.body, observeElements);

这会在 body 中的任何内容发生变化时通知您。如果您想了解更多关于 MutationObserver 的信息。

虽然速度并不快,但您应该调查是否可以滥用 CMS 来不妨碍您。 它需要在任何突变发生之前调用最后一行,否则它将不起作用。