我为 facebook 编写了一个插件,可以将数据发送到testing-fb.local
. 如果用户登录,请求就会通过。
这是工作流程:
- 用户登录自
testing-fb.local
- 存储 Cookie
- 何时
$.ajax()
从 Chrome 扩展程序中触发- Chrome 扩展程序监听
chrome.webRequest.onBeforeSendHeaders
- Chrome 扩展程序检查来自
chrome.cookies.get
- Chrome 更改
Set-Cookies
要发送的标头
- Chrome 扩展程序监听
请求通过。
我写的这部分代码应该是这样的:
function getCookies (callback) {
chrome.cookies.get({url:"https://testing-fb.local", name: "connect.sid"}, function(a){
return callback(a)
})
}
chrome.webRequest.onBeforeSendHeaders.addListener(
function(details) {
getCookies(function(a){
// Here something happens
})
},
{urls: ["https://testing-fb.local/*"]},
['blocking']);
这是我的manifest.json
:
{
"name": "test-fb",
"version": "1.0",
"manifest_version": 1,
"description": "testing",
"permissions": [
"cookies",
"webRequest",
"tabs",
"http://*/*",
"https://*/*"
],
"background": {
"scripts": ["background.js"]
},
"content_scripts": [
{
"matches": ["http://*.facebook.com/*", "https://*.facebook.com/*"],
"exclude_matches" : [
"*://*.facebook.com/ajax/*",
"*://*.channel.facebook.tld/*",
"*://*.facebook.tld/pagelet/generic.php/pagelet/home/morestories.php*",
"*://*.facebook.tld/ai.php*"
],
"js": ["jquery-1.8.3.min.js", "allthefunctions.js"]
}
]
}
在allthefunction.js
我有 $.ajax 调用,并且background.js
是我将代码放在上面但看起来不运行的地方..
总而言之,我还不清楚:
- 我应该写什么在这里发生了一些事情
- 如果这个策略行得通
- 我应该把这段代码放在哪里?