我有一个页面,其中一些事件监听器附加到输入框和选择框.有没有办法找出哪些事件监听器正在观察特定的DOM节点以及哪些事件?
事件附件使用:
Event.observe
;addEventListener
;element.onclick
.我想知道如何从页面卸载CSS.例如,在我的页面中,我添加了一个名为a.css的文件.现在我希望用户能够更改主题,这是CSS驱动的,因此他/她应该能够卸载a.css然后我可以加载b.css(否则他们会冲突)
知道如何去做吗?
有没有办法在javascript中找出所有用户定义的窗口属性和变量(全局变量)?
我尝试了,console.log(window)
但列表是无止境的.
假设有人(邪恶)为我们设置了一个计时器setInterval
,但是我们不知道它的ID(我们没有对该对象的引用,setInterval正在返回,也没有它的值)
(function(){
setInterval(function(){console.log('pwned')},
10000)
})();
Run Code Online (Sandbox Code Playgroud)
有办法,如何清除它?是否有可能以其他方式访问计时器?或者至少特别是浏览器/ javascript引擎?
大卫·弗拉纳根(David Flanagan)接触了他的大型JSTDG.
setInterval() method, use in malicious code
索引中的键指向
...某些浏览器会检测重复的对话框和长时间运行的脚本,并为用户提供停止它们的选项.但是恶意代码可以使用setInterval()等方法来加载CPU,也可以通过分配大量内存来攻击你的系统.Web浏览器没有一般的方法可以阻止这种火腿攻击.在实践中,这不是Web上的常见问题,因为没有人返回到从事此类脚本滥用的网站!