我的印象是content_scripts在页面上正确执行,但现在看起来好像有一些沙盒正在进行。谷歌浏览器扩展“内容”脚本是否被沙箱化?
我工作的一个扩展,登录网站(用于调试和其他开发用途)的所有XHR流量,并在控制台中,以下嗅代码工作:
var o = window.XMLHttpRequest.prototype.open;
window.XMLHttpRequest.prototype.open = function(){
console.log(arguments, 'open');
return o.apply(this, arguments);
};
console.log('myopen');
console.log(window, window.XMLHttpRequest, window.XMLHttpRequest.prototype, o, window.XMLHttpRequest.prototype.open);
此消息记录每次发送XHR。然而,当我把它放在扩展中时,真正的原型不会被修改。显然,我的脚本看到的window.XMLHttpRequest.prototype与实际页面的不同。
有没有办法解决这个问题?此外,这种沙箱行为在任何地方都有记录?我环顾四周,却找不到任何东西。
啊,真是太遗憾了。感谢您的发现。如果只有chrome在它的扩展框架中有更多* power *的话。 – 2010-04-18 23:02:43
该死的。所以看起来好像没有办法拦截和修改http请求体。由于webrequest只支持修改标题,而不是requestBody ... – K2xL 2014-01-20 05:20:07