Javascript 为什么';这不管用吗?

Javascript 为什么';这不管用吗?,javascript,ajax,google-chrome,tabs,Javascript,Ajax,Google Chrome,Tabs,我想将网页的url(变量名为“url”)收集到chrome扩展中的一个变量中,以及文本输入中的几个用户输入,并将其发送到远程php脚本,以便处理到sql数据库中。我正在使用AJAX连接到远程服务器。html包含一个简单的UI表单,popup.js收集变量并建立AJAX连接。如果我使用url=document.location.href,我会得到popup.html的url,而不是我想要处理的页面url。我尝试使用chrome.tabs.query()获取lastFocusedWindow url

我想将网页的url(变量名为“url”)收集到chrome扩展中的一个变量中,以及文本输入中的几个用户输入,并将其发送到远程php脚本,以便处理到sql数据库中。我正在使用AJAX连接到远程服务器。html包含一个简单的UI表单,popup.js收集变量并建立AJAX连接。如果我使用url=document.location.href,我会得到popup.html的url,而不是我想要处理的页面url。我尝试使用chrome.tabs.query()获取lastFocusedWindow url-脚本如下。什么也没发生!看起来获取lastFocusedWindow url应该很简单,但它会导致脚本失败。json将“选项卡”和远程服务器ip(目前位于LAN内)设置为权限。html有用于描述的UI和一些标记。(顺便说一句,回复也不起作用,但目前我不介意!)


由于没有回应,我首先使用了bookmarklet。bookmarklet将url和标题传递给php脚本,在将用户重定向回他们所在的页面之前,php脚本将它们输入数据库

javascript:(function(){location.href='http://[ipaddress]/bookmarklet.php?url='+encodeURIComponent(location.href)+'&description='+encodeURIComponent(document.title)})()
然后我发现这个代码非常有用

var urlOutput = document.getElementById('bookmarkUrl');
var titleOutput = document.getElementById('bookmarkTitle');

if(chrome) {
chrome.tabs.query(
{active: true, currentWindow: true},
(arrayOfTabs) => { logCurrentTabData(arrayOfTabs) }
);
} else {
browser.tabs.query({active: true, currentWindow: true})
.then(logCurrentTabData)
}
const logCurrentTabData = (tabs) => {
currentTab = tabs[0];
urlOutput.value = currentTab.url;
titleOutput.value = currentTab.title;
}
var urlOutput = document.getElementById('bookmarkUrl');
var titleOutput = document.getElementById('bookmarkTitle');

if(chrome) {
chrome.tabs.query(
{active: true, currentWindow: true},
(arrayOfTabs) => { logCurrentTabData(arrayOfTabs) }
);
} else {
browser.tabs.query({active: true, currentWindow: true})
.then(logCurrentTabData)
}
const logCurrentTabData = (tabs) => {
currentTab = tabs[0];
urlOutput.value = currentTab.url;
titleOutput.value = currentTab.title;
}