Javascript 使用document.links在插件sdk中保存当前页面上的URL

Javascript 使用document.links在插件sdk中保存当前页面上的URL,javascript,firefox-addon,firefox-addon-sdk,Javascript,Firefox Addon,Firefox Addon Sdk,是否可以使用Mozilla插件sdk将当前页面上的所有URL保存到一个变量中 contentScript: 'self.on("click", function () {' + 'var data=new Object();' + 'data.selectedText = window.getSelection().toString();' + 'data.links = document.links;' + ' self.postMessage(data)

是否可以使用Mozilla插件sdk将当前页面上的所有URL保存到一个变量中

contentScript: 'self.on("click", function () {' +

    'var data=new Object();' +
    'data.selectedText = window.getSelection().toString();' +
    'data.links = document.links;' +

    '  self.postMessage(data);' +
    '});',
onMessage: function (data) {

    console.log(data.selectedText);
    console.log(data.links.length);
}
输出

info: addon: hello
info: addon: undefined

data.links=document.links
不起作用,因为
document.links
返回DOM锚元素的节点集合,这些元素不能序列化为JSON(因为消息需要)

然而,应该做的是:

data.links = Array.map(document.links, function(l) l.href);
这会将集合映射到一个新数组,该数组将链接目标URI作为字符串包含,并且字符串可以序列化