From da2cfb1bb8da9239cb9869292562f085bc1a67bd Mon Sep 17 00:00:00 2001 From: Ludger Sicking Date: Tue, 20 Aug 2024 11:35:23 +0200 Subject: [PATCH] initial nostreratu --- background.js | 7 ++++++ contentScript.js | 55 ++++++++++++++++++++++++++++++++++++++++++++++ icons/icon128.png | Bin 0 -> 11442 bytes icons/icon48.png | Bin 0 -> 6009 bytes manifest.json | 26 ++++++++++++++++++++++ popup.html | 19 ++++++++++++++++ popup.js | 12 ++++++++++ 7 files changed, 119 insertions(+) create mode 100644 background.js create mode 100644 contentScript.js create mode 100644 icons/icon128.png create mode 100644 icons/icon48.png create mode 100644 manifest.json create mode 100644 popup.html create mode 100644 popup.js diff --git a/background.js b/background.js new file mode 100644 index 0000000..bc816b3 --- /dev/null +++ b/background.js @@ -0,0 +1,7 @@ +// background.js + +chrome.runtime.onMessage.addListener((message, sender, sendResponse) => { + if (message.type === "ldJsonData") { + chrome.storage.local.set({ ldJsonData: message.data }); + } +}); diff --git a/contentScript.js b/contentScript.js new file mode 100644 index 0000000..ab909d8 --- /dev/null +++ b/contentScript.js @@ -0,0 +1,55 @@ +// contentScript.js + +// Function to find and return the content of ld+json scripts +function findLDJSONScripts() { + const scripts = document.querySelectorAll('script[type="application/ld+json"]'); + //const scripts = document.querySelectorAll('class'); + const jsonData = []; + + //console.log(scripts); // Steffen debugging + + scripts.forEach(script => { + try { + const json = JSON.parse(script.textContent); + jsonData.push(json); + } catch (e) { + console.error("Error parsing JSON-LD", e); + } + }); + + return jsonData; +} + +window.addEventListener('load', myMain); + +function myMain() { + //alert('Die Seite wurde vollständig geladen!'); + + console.log("DOM fully loaded and parsed"); + + const ldJsonData = findLDJSONScripts(); + + if (ldJsonData.length > 0) { + + console.log("LD+JSON scripts found:", ldJsonData); + + // Option 1: Render on the same page (e.g., append to body) + const pre = document.createElement('pre'); + pre.textContent = JSON.stringify(ldJsonData, null, 2); + document.body.appendChild(pre); + + // Option 2: Send data to the background script for the popup + chrome.runtime.sendMessage({type: "ldJsonData", data: ldJsonData}); + } +} + +// //window.onload +// window.addEventListener('load', Meldung); +// //document.addEventListener("DOMContentLoaded", function() { +// //window.addEventListener("load", function() { +// //document.addEventListener("DOMContentLoaded", function() { +// // Your code here will run after the DOM is fully loaded +// }); +// Send the extracted JSON-LD data to the popup or render it directly +//const ldJsonData = findLDJSONScripts(); + diff --git a/icons/icon128.png b/icons/icon128.png new file mode 100644 index 0000000000000000000000000000000000000000..7e3bba03e97d33e1bdce0b6773f686459b3c2810 GIT binary patch literal 11442 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 literal 0 HcmV?d00001 diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..b3887c8 --- /dev/null +++ b/manifest.json @@ -0,0 +1,26 @@ +{ + "manifest_version": 3, + "name": "LD+JSON Script Checker", + "version": "1.0", + "description": "Checks for ld+json script tags and renders their content.", + "permissions": [ + "activeTab" + ], + "action": { + "default_popup": "popup.html", + "default_icon": { + "48": "icons/icon48.png", + "128": "icons/icon128.png" + } + }, + "background": { + "service_worker": "background.js" + }, + "content_scripts": [ + { + "matches": [""], + "js": ["contentScript.js"] + } + ] + } + \ No newline at end of file diff --git a/popup.html b/popup.html new file mode 100644 index 0000000..f910e1c --- /dev/null +++ b/popup.html @@ -0,0 +1,19 @@ + + + + + + LD+JSON Content + + + +

LD+JSON Content

+
+ + + \ No newline at end of file diff --git a/popup.js b/popup.js new file mode 100644 index 0000000..b94b823 --- /dev/null +++ b/popup.js @@ -0,0 +1,12 @@ +// popup.js + +chrome.runtime.onMessage.addListener((request, sender, sendResponse) => { + if (request.type === "ldJsonData") { + const contentDiv = document.getElementById('content'); + request.data.forEach(json => { + const pre = document.createElement('pre'); + pre.textContent = JSON.stringify(json, null, 2); + contentDiv.appendChild(pre); + }); + } +});