早期方法
var p = unsafeWindow;
if(window.navigator.vendor.match(/Google/)) {
var div = document.createElement("div");
div.setAttribute("onclick", "return window;");
p = div.onclick();
};
创建div元素后设置属性,点击返回window引用,然后设置div的点击
随着chrome的更新该方法已经失效
目前chrome已经提供了unsafewindow,但是使用相对来说较为有限
优点
非tampermonkey脚本访问目标对象的唯一方法
多浏览器兼容
更容易调试脚本
缺点
注入的脚本部分不再具有gm函数特权
可能与原页面js冲突
该页面可能查看、使用、更改、甚至阻止脚本
需要启用js
使用外部调用库可能导致冲突或者时间问题,而且没有require更简单
require从本地的js副本中加载,加快了运行的速度,并且消除了对外部服务器的依赖问题