Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将弹出窗口的url存储到字符串中?_Url_Google Chrome Extension - Fatal编程技术网

如何将弹出窗口的url存储到字符串中?

如何将弹出窗口的url存储到字符串中?,url,google-chrome-extension,Url,Google Chrome Extension,我目前正在开发一个Chrome扩展,我想将弹出窗口的url存储到一个字符串变量中。 我可以通过“document.createElement和variable.appendChild方法获取url,但我无法将其存储在字符串中 这项工作: function getLinks(){ var url = document.createElement("p"); chrome.tabs.query({windowType:"popup"}, function (tab){ fo

我目前正在开发一个Chrome扩展,我想将弹出窗口的url存储到一个字符串变量中。 我可以通过“
document.createElement
variable.appendChild
方法获取url,但我无法将其存储在字符串中

这项工作:

    function getLinks(){
  var url = document.createElement("p");

  chrome.tabs.query({windowType:"popup"}, function (tab){
    for(x in tab){
       var adresse= document.createTextNode(tab[x].url);
       url.appendChild(adresse);
    }  
  });
  document.body.appendChild(url);
}
这不起作用:

function getLinksbis(){
  var url = "1 - ";

  chrome.tabs.query({windowType:"popup"}, function (tab){
    for(x in tab){
       var adresse= tab[x].url;
       url = url + adresse;
    }  
  });
  document.write(url);
}
你能帮我吗?能做我想做的吗? 我希望它是一个字符串,因为我想将参数添加到此url,然后将其发送回用户

请原谅我的英语,我是法国人


谢谢。

您的代码确实有效,请确保

{
  ..
  "permissions":["tabs"]
  ..
}
制表符在清单文件中的权限

测试后的输出

编辑1
移动您的
文档。写入(url);
在异步回调中,这是一个异步函数,在回调成功后应进行最后一次调用。

您好。是的,第一个函数工作正常,但另一个不行。在第一个函数中,我有一个““包含url,但我希望它是一个字符串,这样我可以在之后在其中添加参数。是的,我在清单中有“标签”权限。;-)那么为什么第一个函数会返回url,第二个函数会返回“1-”,如果它工作的话,它什么时候应该返回“1-url?”@user1986474:检查我的
edit1
它应该可以解决你的问题,这是chrome的异步特性:它确实工作,非常感谢!但是当我点击我创建的链接时,什么都没有发生。。。新问题,但没关系,我会调查的,再次感谢您的时间。
function getLinksbis() {
    var url = "1 - ";

    chrome.tabs.query({
        windowType: "popup"
    }, function (tab) {
        for (x in tab) {
            var adresse = tab[x].url;
            url = url + adresse;
        }
        document.write(url);
    });

}