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

时间:2017-03-31 10:27:05

标签: javascript ajax dom load

我正在开发一个通过AJAX加载元素的页面,它是一个CMS类型的软件,我无法访问ajax ,也不知道它的回调。< / p>

我希望在加载页面的特定部分时运行我的函数,如何在涉及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(){

这些都不起作用,因为在我的脚本查找它们时没有加载元素。

1 个答案:

答案 0 :(得分:1)

您可以使用变异观察者。

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);

当身体内的任何物质发生变化时,这将告诉您。如果您想获得幻想,请阅读有关MutationObserver的更多信息。

但这并不快,你应该调查一下你是否可以滥用你的CMS而不妨碍你。 并且它需要在任何突变发生之前调用最后一行,否则它将无效。