Javascript 传递到php文件的chrome活动选项卡url
我正在为Chrome做扩展,我需要用php代码将活动选项卡的url传递给文件。My manifest.json代码:Javascript 传递到php文件的chrome活动选项卡url,javascript,google-chrome,tabs,google-chrome-extension,Javascript,Google Chrome,Tabs,Google Chrome Extension,我正在为Chrome做扩展,我需要用php代码将活动选项卡的url传递给文件。My manifest.json代码: { "name": "demo", "version": "1.0", "manifest_version": 2, "description": "Making your first Google Chrome extension.", "browser_action": { "default_icon": "icon.png",
{ "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();
}
谢谢您的帮助。我认为您应该这样做,因为在您的代码中,由于tabs.query是异步的,当XHR.send()时;“获取已执行”选项卡URL尚未设置
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();
});
}
我发现了问题。变量选项卡是数组,因此它必须是选项卡[0]。url。无论如何,谢谢你的帮助。