// ==UserScript== // @name Vue测试注入 // @namespace http://tampermonkey.net/ // @version 0.1 // @description try to take over the world! // @author 李恒道 // @match https://qpanpan.com/* // @icon https://www.google.com/s2/favicons?domain=qpanpan.com // @grant none // @run-at document-start // ==/UserScript== let formaldefine=Object.defineProperty let vuepro=null Object.defineProperty=function (...args){ console.log("Object.defineProperty",...args) if(args[1]==='$data'){ //得到Vue原型,开始干_init //恢复defined vuepro=args[0] Object.defineProperty=formaldefine let init=vuepro._init vuepro._init=function(options){ console.log('三句话让Vue对我放下防备',this) return init.call(this,options) } } return formaldefine.call(Object,...args) }