Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.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
Javascript 获取上下文菜单上单击链接的标题(Chrome扩展名)_Javascript_Html_Ajax_Google Chrome Extension - Fatal编程技术网

Javascript 获取上下文菜单上单击链接的标题(Chrome扩展名)

Javascript 获取上下文菜单上单击链接的标题(Chrome扩展名),javascript,html,ajax,google-chrome-extension,Javascript,Html,Ajax,Google Chrome Extension,我目前正在尝试检索当上下文菜单弹出时用户右键单击的链接的标题。我想检索他们右键单击以显示的页面的标题,但我想不出来。我尝试使用和AJAX请求链接从src获取标题,但所有谷歌右键单击都是重定向链接。有人知道如何从重定向链接或直接从上下文菜单获取网站标题吗 // wipe the context menu so no duplicates chrome.contextMenus.removeAll(function() { //context menu customization chrom

我目前正在尝试检索当上下文菜单弹出时用户右键单击的链接的标题。我想检索他们右键单击以显示的页面的标题,但我想不出来。我尝试使用和AJAX请求链接从src获取标题,但所有谷歌右键单击都是重定向链接。有人知道如何从重定向链接或直接从上下文菜单获取网站标题吗

// wipe the context menu so no duplicates
chrome.contextMenus.removeAll(function() {
    //context menu customization
chrome.contextMenus.create({
    title: "Do stuff",
    contexts: ["link"], // ContextType
    onclick: addLinkToList // A callback function that stores the links that were clicked
});
});
上面是创建上下文菜单的代码。我的addlinktolist函数存储单击的链接,但我也希望它能够获取页面的标题


提前感谢。

为了解决这个问题,我提出了一个AJAX请求,在页面的html中搜索标题标记。如果没有找到标题标签,它会从google重定向链接中找到URL,然后从该URL的响应中搜索标题标签

 $.ajax({
            url: links[i],
            complete: function(data) {
                if (data.responseText.includes("<title>")) {
                    title = (data.responseText.match(/<title[^>]*>([^<]+)<\/title>/)[1]);

                } else {
                    $.ajax({
                        url: data.responseText.match(/URL='([^<]+)'"/)[1],
                        complete: function(data2) {
                            title = (data2.responseText.match(/<title[^>]*>([^<]+)<\/title>/)[1]);

                        }

                    });
                }
            }
        }); // ajax call to get title of website

例如,您可以使用新的URLSearchParamsinfo.linkUrl.get'URL提取原始URL。@wOxxOm我已经让它工作了,谢谢!它有点粗糙。。。。我基本上运行了一个ajax请求循环,直到它在响应中找到一个标记。然后,当它找到标题响应时,它抓住它并移动到下一个链接。它惊人地快。。。。我没想到它会那么好用!我将尝试实现你的想法,因为它看起来更简单、更短。谢谢