一开始油猴子使用的是://grant none,这样的好处是油猴子函数和页面处于同一个空间,页面能够直接调用油猴子函数。
但是当我使用了油猴子自带的 GM 函数以后,油猴子代码会处于沙盒模式,导致页面访问油猴子的函数提示:undefined 。
页面其实是一个空白页面,通过油猴子来给页面添加一个 table,table 内会有一些交互的按钮,按钮来调用油猴子。
是因为浏览器的同源策略,导致只能在域名相同的页面下才能发送 http 请求。所以为了方便,干脆就在这个域名的空白页面修改 body,创建 table 。
但是后来发现仅仅当前域名获取的数据不足以满足需求,还需要请求另一个域名的数据。为此只能使用油猴子的 http 请求函数。也就是:// @grant GM_xmlhttpRequest 。
但是缺点随之而来,由于油猴子会在沙箱中运行脚本,页面也就无法调用油猴子的函数了。从而页面的按钮将会失去作用。