我刚开始构建我的第一个Chrome扩展程序。 我的应用程序中的一个功能是获取当前站点的名称。 例如,如果当前URL与“*:// * .facebook.com /”匹配,我将解释此URL并知道该站点名称为Facebook。
我应该如何去做呢?
我刚开始构建我的第一个Chrome扩展程序。 我的应用程序中的一个功能是获取当前站点的名称。 例如,如果当前URL与“*:// * .facebook.com /”匹配,我将解释此URL并知道该站点名称为Facebook。
我应该如何去做呢?
不清楚你是想获取主机名还是页面标题,但如果需要,两者都可以获取。
在内容脚本内部,您可以执行以下操作:
var site = location.hostname,
title = document.title;
alert("Site: " + site + " - Title: " + title);
var site;
chrome.tabs.query({/* some query */}, function(tabs) {
site = tabs[0].url.split("/")[2];
alert("Site: " + site);
});
executeScript()
。请注意:自2021年1月起,请使用Manifest V3和chrome.scripting.executeScript()
而不是chrome.tabs.executeScript()
。var title;
chrome.runtime.onMessage.addListener(function(message, sender, sensResponse) {
if (message.title) {
title = message.title;
alert("Title: " + title);
}
});
chrome.tabs.query({/* some query */}, function(tabs) {
chrome.tabs.executeScript(tabs[0].id, {code: "chrome.runtime.sendMessage({title: document.title});"});
});
有关我在上面片段中使用的方法的更多信息,您可以查看以下文档链接:
既然内容脚本被注入到页面中,你可以在内容脚本中使用window.location.host
来获取你的网站名称。
window.location.host
,它应该可以工作,因为该脚本被注入到该页面中。 - Omri Aharon