首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从Javascript中的通用网页获取favicon的URL?

要从JavaScript中的通用网页获取favicon的URL,您可以使用以下方法:

  1. 分析HTML源代码:

您可以通过解析HTML源代码并查找<link>标签来获取favicon。以下是一个简单的示例:

代码语言:javascript
复制
function getFaviconURL(url) {
  return new Promise((resolve, reject) => {
    fetch(url)
      .then((response) => response.text())
      .then((html) => {
        const parser = new DOMParser();
        const doc = parser.parseFromString(html, "text/html");
        const link = doc.querySelector("link[rel*='icon']");
        if (link) {
          resolve(link.href);
        } else {
          reject("Favicon not found");
        }
      })
      .catch((error) => reject(error));
  });
}

getFaviconURL("https://www.example.com")
  .then((faviconURL) => console.log(faviconURL))
  .catch((error) => console.error(error));
  1. 使用favicon.ico

大多数网站都会在其根目录下存储一个名为favicon.ico的图标文件。您可以通过将此文件名添加到网站的根URL来获取favicon的URL。以下是一个简单的示例:

代码语言:javascript
复制
function getFaviconURL(url) {
  return new Promise((resolve, reject) => {
    const faviconURL = new URL("favicon.ico", url);
    fetch(faviconURL, { method: "HEAD" })
      .then((response) => {
        if (response.ok) {
          resolve(faviconURL.href);
        } else {
          reject("Favicon not found");
        }
      })
      .catch((error) => reject(error));
  });
}

getFaviconURL("https://www.example.com")
  .then((faviconURL) => console.log(faviconURL))
  .catch((error) => console.error(error));

请注意,这些方法可能无法在所有情况下都能成功获取favicon的URL,因为网站可能使用不同的方法存储和引用favicon。在这种情况下,您可能需要尝试其他方法或者使用一个更强大的解析库,如cheeriojsdom

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券