从Chrome扩展程序background.js向服务器发送URL

时间:2015-11-01 17:55:31

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

我正在构建一个简单的Chrome扩展程序,以便在打开时获取每个用户浏览器页面的URL并将其发送回服务器。 我现在可以将URL显示在警告框中,但是我的ajax正在向我的数据库返回一个空白值。警报工作正常(?)

任何想法/想法?见下面的脚本..

Popup.html:

<html>
    <head>
       <title>Facebook Connect For Chrome Extension</title>
       <script type="text/javascript" src="index.js"></script>
    </head>
    <body>
        <h1>Facebook Connect For Chrome Extension</h1>
        <p><a target="_blank"href="https://www.facebook.com/dialog/oauth?client_id=MY-APP-   ID&response_type=token&scope=email&redirect_uri=http://www.facebook.com">Facebook Connect</a></p>

    </body>
</html>

更新 background.js:

chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
if (changeInfo != undefined) {
var http = new XMLHttpRequest(); 
  http.open("POST",
  "http://ec2-52-89-93-50.us-west-2.compute.amazonaws.com/phpindex.php", 
   true);
  sendme = changeInfo.url
   http.send(sendme);
}
alert(sendme);
}); 

更新 manifest.json:

{     “名称”:“示例”,     “版本”:“1.0”,     “description”:“示例”

"browser_action": {
"default_popup": "popup.html",
"default_icon":"icon.png"
 },

"background": {
"scripts": ["background.js"]
},
"manifest_version":2,
"permissions": [
"tabs",
"http://*.facebook.com/*",
"http://MY_SERVER/*",
"http://*/*",
"https://*/*",
"<all_urls>"
]
}

1 个答案:

答案 0 :(得分:0)

根据tabs.onActivated文档:

  

请注意,此事件触发时可能未设置选项卡的URL,但您可以侦听onUpdated事件,以便在设置URL时收到通知。

使用chrome.tabs.onUpdated侦听器回调将网址发布到您的服务器。