问题标签 [mutation-events]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6193 浏览

javascript - DOMSubtreeModified 在 chrome 中不起作用

我有这段代码在 Firefox 中完美运行。

但它不适用于 Chrome。我希望每次 myDiv 发生某些事情时触发一个事件。(删除,css修改,一切)。

任何变通办法?

0 投票
1 回答
55 浏览

jquery - 检查异常dom修改

我们如何区分正常的 DOM 修改(由网页本身)和异常的 DOM 修改(由攻击者)?

我在javascript的突变事件中找不到办法。可能吗?

0 投票
2 回答
801 浏览

javascript - html5细节节点状态变化的事件监听器

我正在尝试添加一个事件侦听器来检测 HTML5 详细信息节点状态的变化。

最初,我尝试将侦听器附加到打开和关闭事件,因为对我来说,让详细信息节点拥有这些侦听器是合乎逻辑的,但它没有,而且我在 html5 规范中没有看到任何提及它们。

我尝试(在 Google Chrome 中)更改事件,因为 html5 规范(和 Inspect Element 确认)打开和关闭详细信息的方法是添加/删除 open 属性。我希望节点获得/丢失属性会触发更改事件,但显然它不会。

我到底如何从细节节点的状态变化中触发脚本操作?

0 投票
1 回答
3636 浏览

javascript - 检测 DOM 更改事件

有没有办法检测 DOM 更改事件?无论是文本替换、移动节点、删除或添加新节点等。

0 投票
4 回答
308 浏览

javascript - 使用 jquery 测试事件序列

嗨,我正在尝试查看以下链接中建议的触发了哪些事件。但是,我没有看到警报..这里有什么问题?

0 投票
2 回答
2235 浏览

firefox - 哪个 HTMLElement 属性更改会生成 DOMAttrModified?

我有一个关于 DOMAttrModified 的问题。对 HTML 元素属性的哪些更改会触发 DOMAttrModified 事件(对 Firefox 特别感兴趣,但适用于其他浏览器的答案也可能就足够了)?

我有以下测试用例:

如果我将 elem.value 更改为 elem.defaultValue,则会触发 DOMAttrModified。某处有完整的清单吗?到目前为止,我发现 HTMLInputElement 的 'value' 和 'checked' 以及 HTMLOptionElement 的 'selected' 属性没有触发 DOMAttrModified。还有其他的吗?

DOMAttrModified 视觉属性的答案似乎并不完全正确,因为“值”也是一个属性。

谢谢, 苏尼尔

0 投票
1 回答
345 浏览

firefox - Firefox:断开节点的 DOM 突变事件?

我有几个问题(我对与 Firefox 相关的答案感兴趣,但其他浏览器上下文中的答案也可能是可以接受的)。

  1. DOM Mutation 事件是否会因与主文档断开连接的节点而触发,即断开连接?根据 Mozilla 错误之一中的信息,答案似乎是肯定的。有人可以给我一些例子吗?

  2. 查找节点是否断开连接的最快方法是什么?天真的方法是一直走(使用 node.parentNode)直到我们到达 null 或文档。有更快的吗?

  3. Firefox 是否支持 Webkit 的“魔法 iframe”功能?如果不是,如果该代码在 Firefox 中运行会发生什么?

  4. 与#3 相关,iframe 是否可以在与文档断开连接时继续加载?即它连接到一个主文档,开始加载,然后移动到另一个文档(使用采用节点()),但从未添加到新文档中的父节点。iframe 会继续加载吗?

在此先感谢, 苏尼尔

0 投票
1 回答
2737 浏览

javascript - 如何在不使用 DOM 突变事件的情况下检测 AJAX 节点插入?

我正在尝试编写一个 Greasemonkey 脚本来更改 Twitter 帖子中的关键字。麻烦的是,内容是“延迟加载”并且是根据用户请求添加的。

如果我要向添加的元素添加事件侦听器,我可以使用 JQuery 的delegate(). 因为我只是想在加载时更改内容,所以这似乎不合适。

突变事件似乎符合要求。它们是 Gecko 特有的,但这对于 Greasemonkey 脚本并不重要。问题是,它们已经贬值了,并且有一系列很好的理由

当然,我可以使用计时器并定期轮询 DOM,但这看起来很恶心。

如何检测对 DOM 的添加并对插入的元素做出反应?

0 投票
1 回答
1110 浏览

javascript - DOMNodeInserted 事件循环

我正在为 facebook 开发一个 chrome 扩展(我的第四个问题左右......),它在“like”按钮旁边添加了一个自定义按钮。由于帖子会自动添加到新闻提要中而无需刷新页面,因此每次添加新帖子时我都必须添加脚本。

我使用DOMNodeInserted事件。

问题是当事件被调用时,我在页面中插入了一个新元素(按钮),它会产生一个循环!

我的脚本:

你可以在这里看到我之前的问题

我厌倦了提问,所以我非常感谢任何回答/评论!

0 投票
2 回答
1181 浏览

javascript - chrome ext:限制 DOMNodeInserted

我正在开发一个 chrome 插件,为页面中的每个元素注入一个类。但是在 facebook 或 twitter 等页面中会动态加载内容,因此我使用此代码检查何时加载此内容:

问题是这样,每次插入节点时都会触发脚本。因此,我想添加某种限制。类似于:插入节点时触发脚本,然后等待 2 秒。

我正在尝试这样的事情但没有成功:

谢谢