我正在使用一个非常古老的应用程序,它通过调用远程服务器上的 JavaScript 并将内容注入(inject) DOM 来填充 div
。
出于某种原因,在 Firefox 中,它还会用另一个主机地址替换我所有的 URL 主机。
这种行为不会发生在 Chrome 或 IE 中。
虽然我会通过修复应用程序来防止这种情况发生,但我更迫切地需要知道是否可以编写一些 JavaScript 来“保护”文档中的特定元素不被修改。 (即几个对象的href
属性)
这可能吗?
更好的是,有什么方法可以让我使用开发人员工具来找出脚本的行导致我的链接域发生变化的确切原因吗?
最佳答案
使用 Object.defineProperty() 使属性只读。
Object.defineProperty(obj, "key", {
enumerable: false,
configurable: false,
writable: false,
value: "static"
});
来源:
注意:
defineProperty 在旧浏览器中不被支持,如果你想支持旧浏览器,你必须使用闭包来保护数据不受外部影响。您将为他们提供 getter,以便其他人可以访问您的只读数据。
关于javascript - 限制特定对象的 hrefs 的 Javascript 修改/找出修改 hrefs 的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21624108/