UNPKG

ahooks

Version:
27 lines (26 loc) 780 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = require("react"); var ImgTypeMap = { SVG: 'image/svg+xml', ICO: 'image/x-icon', GIF: 'image/gif', PNG: 'image/png' }; var useFavicon = function useFavicon(href) { (0, _react.useEffect)(function () { if (!href) return; var cutUrl = href.split('.'); var imgSuffix = cutUrl[cutUrl.length - 1].toLocaleUpperCase(); var link = document.querySelector("link[rel*='icon']") || document.createElement('link'); link.type = ImgTypeMap[imgSuffix]; link.href = href; link.rel = 'shortcut icon'; document.getElementsByTagName('head')[0].appendChild(link); }, [href]); }; var _default = useFavicon; exports["default"] = _default;