1.对于DIV注入的,可以初始化时检查全部html代码. 检测是否被劫持比较简单,但对抗就略麻烦,这个在说完第2点之后再解释. 2.对于js注入,可以在window监听DOMNodeInserted事件. 事件有srcElement,可以获取到刚插入的dom节点. 这里开始简单粗暴的做正则匹配,匹配所有url. 再逐个比较是否白名单域名,如果不是,则判定为劫持.可以上报,同时可以移除dom.parentNode.removeChild(dom); 但这样容易造成误伤,因为正常页面中可能有外部链接