首先chrome.tabs.executeScript的执行是一个沙盒,独立于正文页面的沙盒,但是能够访问到网页中document,但是和网页中的js变量是不能互相访问的,这个我想这个机制是和greasemoneky是一样的。
然后就是蛋疼的chrome.tabs.executeScript执行顺序的问题了,一开始我还以为每个executeScript又独立出了一个变量空间,然而实质上,只有一个变量空间,唯一的问题是executeScript是异步执行函数,如果先用executeScript加载一个jquery,然后再用executeScript去执行一个$(window)。对不起,找不到$。因为jquery还没加载完,你要么能很神地掐时间知道它什么时候加载完,否则,只有乖乖地去用callback。