D4RKNOISE Posted February 8, 2023 Share Posted February 8, 2023 For work we often get log files with links in them, these are not provided with a <h ref tag and are therefore plain text in the log files. the purpose is that this script converts the links to a real h ref. so that you can click on it. I'm trying to build a chrome extension, it already contains a popup with certain functions and it works. I also want to build in a function that reads all websites and converts non-clickable links into clickable links. I have part of the code but I can't get it to work... background.js(problem with the id ): chrome.scripting.executeScript({ target: {tabId: id, allFrames: true}, files: ["/content_scripts/clickablelinks.js"], });; clickablelinks.js: // Make links clickable. console.log("Script started"); chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) { console.log("Tab updated: " + tabId); chrome.tabs.executeScript(tabId, { code: ` console.log("Script executed"); var links = document.querySelectorAll("a[href^='http'], a[href^='https']"); for (var i = 0; i < links.length; i++) { links[i].onclick = function() { window.open(this.href); return false; } } $('body *').each(function() { var html = $(this).html(); var newHtml = html.replace(/([A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4})/gi, '<a href="mailto:$1">$1</a>'); newHtml = newHtml.replace(/((https?|ftp):\/\/[^\s\/$.?#,\(\)].[^\s,]*)/gi, '<a href="$1">$1</a>'); newHtml = newHtml.replace(/(((www.)?)([A-Z0-9])([^\s,]*)\.(eu|com|be|co\.uk|net|org|edu|gov|ca|de|fr|us|ru|ch|it|nl|se|no|es|ly|am)([^\s,\(\)]*))/gi, '<a href="http://$1">$1</a>'); newHtml = newHtml.replace(/((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))/gi, '<a href="http://$1">$1</a>'); $(this).html(newHtml); }); ` }); console.log("Script ended"); }); manifest.json: { "name": "Tech Tools", "content_scripts": [{ "all_frames": true, "matches": ["***private***"], "js": ["/js/content.js"], "run_at": "document_idle" }], "description": "Easy shortcuts!", "version": "3.2.5", "manifest_version": 3, "background": { "service_worker": "/js/background.js" }, "permissions": ["storage", "tabs", "activeTab", "scripting", "background"], "host_permissions": [ "<all_urls>" ], "action": { "default_popup": "popup.html", "default_icon": { "16": "/images/icon16.png", "32": "/images/icon32.png", "48": "/images/icon48.png", "128": "/images/icon128.png" } }, "icons": { "16": "/images/icon16.png", "32": "/images/icon32.png", "48": "/images/icon48.png", "128": "/images/icon128.png" }, "options_page": "options.html" } In hope for a bit help, kind regards... some suggestions our a result... Quote Link to comment https://forums.phpfreaks.com/topic/315893-chrome-extention-with-clickablelinks-function-mv3/ Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.