【问题标题】:chrome active tab url passing to php filechrome 活动标签 url 传递给 php 文件
【发布时间】:2012-11-04 14:00:14
【问题描述】:

我正在为 Chrome 制作扩展程序,我需要将活动选项卡的 url 传递给带有 php 代码的文件。我的 manifest.json 代码:

{  "name": "demo", 
   "version": "1.0",
   "manifest_version": 2,
   "description": "Making your first Google Chrome extension.",
   "browser_action": {
       "default_icon": "icon.png",
       "default_popup": "chrome.html"
   },
   "permissions": [
       "http://www.mysite.com/",
   "tabs"
   ]
}

和 AJAX 代码:

window.onload = function() {
var XHR = new XMLHttpRequest;
chrome.tabs.query({active:true,currentWindow:true},
      function(tab){tabUrl = tab.url;});
XHR.open('GET', 'http://www.mysite.com/chrome/chrome.php?tab='+tabUrl+'', true);
XHR.onreadystatechange = function () {
  if (4 == this.readyState) {
    var status = this.status;
    if (400 > status) {
      var responseText = this.responseText;
      if (responseText) {
        document.getElementById('resultado').innerHTML = responseText;
      }
    }
  }
};
XHR.send();
}

感谢您的帮助。

【问题讨论】:

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


    【解决方案1】:

    我认为你应该这样做,因为在你的代码中,因为 tabs.query 是异步的,当 XHR.send();执行 tabUrl 尚未设置。

    window.onload = function() {
      var XHR = new XMLHttpRequest;
      chrome.tabs.query({
        active: true,
        currentWindow: true
      }, function(tab) {
    
        tabUrl = tab.url;
        XHR.open('GET', 'http://www.mysite.com/chrome/chrome.php?tab=' + tabUrl + '', true);
        XHR.onreadystatechange = function() {
          if(4 == this.readyState) {
            var status = this.status;
            if(400 > status) {
              var responseText = this.responseText;
              if(responseText) {
                document.getElementById('resultado').innerHTML = responseText;
              }
            }
          }
        };
        XHR.send();
    
      });
    
    }
    

    【讨论】:

    • 我发现了问题。变量 tab 是一个数组,所以它需要是 tab[0].url。无论如何感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2016-09-08
    • 2018-04-12
    • 2012-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多