Chrome扩展程序:将javascript注入网页以执行ajax请求?

时间:2011-07-23 23:00:32

标签: javascript ajax google-chrome google-chrome-extension inject

我正在开发一个Google Chrome扩展程序,当用户登录Facebook时会添加类似Windows Live Messenger的通知,因此我需要执行ajax请求以获取一些用户信息(例如个人资料图片,来自ID等的全名) 。) 因为我无法直接向Facebook执行ajax请求(如果我错了就纠正我),是否可以将Javascript文件注入facebook页面然后从那里执行ajax请求?或者这会被阻止,因为扩展在另一个环境中运行(或者它们呢?如果我误解了这一点,再次纠正我!) 我目前没有任何代码可以显示,但我只是想知道在我开始编码之前是否可能,或者我是否需要其他方法。

提前致谢

2 个答案:

答案 0 :(得分:2)

要将它注入头部,你可以为它编写一个函数

function exec(fn) {
    var script = document.createElement('script');
    script.setAttribute("type", "application/javascript");
    script.textContent = '(' + fn + ')();';
    document.body.appendChild(script); // run the script
    document.body.removeChild(script); // clean up
}

并在您的扩展程序中使用它,如

exec(function() {
    $("body").load('hacked.html');
});

取自this回答

答案 1 :(得分:1)

允许Chrome扩展程序向任何页面发出ajax请求。有关详细信息,请参阅docs