Javascript 检测devtools中所做的更改

Javascript 检测devtools中所做的更改,javascript,jquery,mutation-observers,Javascript,Jquery,Mutation Observers,我试图检测属性是在devtools还是在js脚本中更改的 我创建了一个MutationObserver对象,但如果这是在devtools或js脚本中触发的更改,我不知道如何检测差异 Vraiable$modalImg是一个带有图像标签的jQuery变量。 attributeValue是更改后的新值。在这种情况下,这是属性src值 我想检测src属性更改以防止用户更改它,但我想允许js脚本更改src属性 这是可能的,还是我应该完全不同地去做 var srpImageObserver=新的突变观察者

我试图检测属性是在devtools还是在js脚本中更改的

我创建了一个
MutationObserver
对象,但如果这是在devtools或js脚本中触发的更改,我不知道如何检测差异

Vraiable
$modalImg
是一个带有图像标签的jQuery变量。
attributeValue
是更改后的新值。在这种情况下,这是属性
src

我想检测
src
属性更改以防止用户更改它,但我想允许js脚本更改
src
属性

这是可能的,还是我应该完全不同地去做

var srpImageObserver=新的突变观察者(功能(突变){
突变。forEach(功能(突变){
if(mutation.attributeName==“src”){
var$element=$(mutation.target),
attributeValue=$element.prop(mutation.attributeName);
console.log(变异)
});
});
srpImageObserver.observe($modalImg[0]{
属性:true
});

在脚本中更改布尔标志之前,先设置一些全局(或应用程序内)布尔标志,如果未设置该标志,则在observer中恢复该标志。假设您找到一种方法来检测来自DevTools的更改(我认为没有).是什么阻止用户使用上述开发工具删除
MutationObserver
,从而挫败了整个想法?我认为这在理论层面上是不可能的(如果用户理解脚本,你就无能为力),但如其他评论中所述,模糊安全性可以避免最简单的尝试。您可以添加计时器(例如setInterval)来检测更改。计时器将继续检查src属性。感谢大家的快速响应。我使用了wOxxOm建议的标志,它按照我希望的方式工作。但Zenoo说的是正确的,如果用户禁用
MutationObserver
他仍将更改属性。