From 08f9beab68200c1c60a403d3b507dc1982e1a82f Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Mon, 30 Oct 2023 11:25:50 +0800 Subject: [PATCH] Improve site icon fetching --- apple/Sources/ShareExtension/ShareExtension.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/apple/Sources/ShareExtension/ShareExtension.js b/apple/Sources/ShareExtension/ShareExtension.js index 4581ece82..dbbdab9c9 100644 --- a/apple/Sources/ShareExtension/ShareExtension.js +++ b/apple/Sources/ShareExtension/ShareExtension.js @@ -2,10 +2,16 @@ var ShareExtension = function() {}; const iconURL = () => { try { - const previewImage = document.querySelector("meta[property='og:image'], meta[name='twitter:image']").content - if (previewImage) { return previewImage } + const previewImage = document.querySelector("meta[property='og:image'], meta[name='twitter:image']") + if (previewImage && previewImage.getAttribute("content")) { return previewImage.getAttribute("content") } - return document.querySelector("link[rel='apple-touch-icon'], link[rel='shortcut icon'], link[rel='icon']").href + const appleImage = document.querySelector("link[rel='apple-touch-icon'], link[rel='shortcut icon'], link[rel='icon']") + if (appleImage && appleImage.getAttribute("href")) { return appleImage.getAttribute("href") } + + const href = new URL(document.location.href) + href.pathname = '/favicon.ico' + + return href.toString() } catch {} return undefined }