我正在开发一个chrome扩展程序,要求popup.js访问chrome中当前活动选项卡的URL。这个URL我需要使用ajax作为参数发送到php调用。
问题是网址范围。我无法在函数chrome.tabs.query
以外的任何地方访问它。
我需要在此函数外部访问它,以便我可以在ajax调用中传递它。
popup.js:
$(document).ready(function(){
var taburl;
$("#clickme").click(function(event){
event.preventDefault();
chrome.tabs.query({currentWindow: true, active: true}, function(tabs){
taburl=tabs[0].url;
document.getElementById('urlh3').innerText=taburl;
chrome.storage.local.set({'URL': taburl});
});//query
var url = "";
chrome.storage.local.get('URL', function (result) {
url = result.url;
//alert(result.url);
//$("#URL").val(url);
});
var b="XYZ";
$.ajax({
data:{ url: b},
type: "POST",
dataType: "json",
url: 'http://localhost/hello2.php',
success: function(results){
console.log("Result="+results);
}
});//ajax
}); //click
});//ready
当我尝试作为样本时,值XYZ被传递。但就像我通过var b;
一样,我需要传递taburl
,或者在var b = taburl;
函数之外说chrome.tab.query
。