我正在开发一个通过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(){
这些都不起作用,因为在我的脚本查找它们时没有加载元素。
答案 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而不妨碍你。 并且它需要在任何突变发生之前调用最后一行,否则它将无效。