Testing outside scripts

Test them scripts, boi

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey, Greasemonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Userscripts.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een gebruikersscriptbeheerder nodig.

(Ik heb al een user script manager, laat me het downloaden!)

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

(Ik heb al een beheerder - laat me doorgaan met de installatie!)

// ==UserScript==
// @name            Testing outside scripts
// @description     Test them scripts, boi
// @version         1.0.3
// @author          Oliver P
// @namespace       https://github.com/OlisDevSpot
// @license         MIT
// @match           *://*/*
// @run-at          document-end
// @compatible      safari
// @grant           none
// ==/UserScript==

const COMPANY_NAME = "david-star";
const FIRST_NAME = "Oliver";
const LAST_NAME = "Porat";

// SYSTEM VARS
const CDN_URL = 'https://construction-js-injections.pages.dev';

// PERSONAL VARS
const salesperson = {
	firstName: FIRST_NAME,
	lastName: LAST_NAME,
	get fullName() {
		return this.firstName + " " + this.lastName;
	},
	get key() {
		return this.firstName.toLowerCase() + '-' + this.lastName.toLowerCase();
	},
};

// QUERY STRING
const currentSiteUrl = encodeURIComponent(window.location.href);
const params = {
	data: JSON.stringify({ currentSiteUrl, salesperson }),
};
const urlSearchParams = new URLSearchParams(params).toString();

(function() {
  'use strict';
  
  const url = `${CDN_URL}/${COMPANY_NAME}?${urlSearchParams}`;

  // Fetch and inject
  fetch(url)
    .then(res => res.text())
    .then(code => {
      const script = document.createElement('script');
      script.textContent = code;
      document.head.appendChild(script);
    })
    .catch(err => console.error('Failed loading dynamic script:', err));
})();