我正在使用一个非常古老的应用程序,通过在远程服务器上调用JavaScript并将内容注入DOM来填充div
。
出于某种原因,在Firefox中,它还将我的所有URL主机替换为另一个主机地址。
Chrome或IE中不会发生此行为。
虽然我想通过修复应用程序来防止这种情况发生,但我更需要知道是否可以编写一些JavaScript以“保护”文档中的特定元素不被修改。 (即几个对象的href
属性)
这甚至可能吗?
更好的是,我是否可以通过某种方式使用开发人员工具找出脚本的哪些行导致我的链接域名发生变化?
答案 0 :(得分:2)
使用Object.defineProperty()使属性只读。
Object.defineProperty(obj, "key", {
enumerable: false,
configurable: false,
writable: false,
value: "static"
});
<强>来源:强>
注意:强>
旧浏览器不支持defineProperty ,如果要支持旧版浏览器,则必须使用闭包来保护外部数据。您将为他们提供getter,以便其他人可以访问您的只读数据。