我想要做的是观察页面的生成(在iframe内部,但似乎并不重要)使用变异观察器并动态修改它。
我能够毫无问题地修改css,但我似乎无法更改html代码,这里是一个示例代码:
var mutationObserver = new MutationObserver (mutationHandler);
var observerConfig = {childList: true, subtree: true};
mutationObserver.observe(document, observerConfig);
function mutationHandler(mutationRecords) {
mutationRecords.forEach ( function (mutation) {
var newNodes = mutation.addedNodes;
if (newNodes.length > 0) {
$(newNodes).each(function() {
var $node = $(this);
if ($node.is('div')) {
var code = $node.html();
$node.html(code); // HERE IS THE TEST LINE !!!!
}
});
}
});
}
所以我放置了一个简单的测试线,看看它是如何表现的,只需这样做 - 从div获取html代码然后按原样放回 - 页面的一部分将不会生成(几乎所有它)。
我陷入了僵局,为什么以及导致这种情况的原因,我显然错过了一些东西,使用var code = $node.html();
获取html,制作出无法直接使用的内容。