我想知道在完全加载之前是否可以修改DOM中的对象。我正在尝试修改以下对象:
(function (g) {
var d = document,
i,
am = d.createElement('script'),
h = d.head || d.getElementsByTagName("head")[0],
aex = {
"src": "google.com",
"type": "text/javascript",
"async": "true",
"data-vendor": "acs",
"data-role": "gateway"
};
for (var attr in aex) {
am.setAttribute(attr,aex[attr]);
}
h.appendChild(am);
g['acsReady'] = function () {
var aT = '__acsReady__',
args = Array.prototype.slice.call(arguments, 0),
k = setInterval(function () {
if (typeof g[aT] === 'function') {
clearInterval(k);
for (i = 0; i < args.length; i++) {
g[aT].call(g, function(fn) {
return function() {
setTimeout(fn, 1)
};
}(args[i]));
}
}
}, 50);
};
})(window);
例如,更改上面
中src属性的值答案 0 :(得分:1)
Javascript执行在第一次呈现页面之前开始。 DOM Parser会通知Mutation Observers,因此您可以在解析器添加元素后立即删除元素或修改它们。
这个问题有一个例子可以帮助您实现: