Vue测试注入
// ==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)
}