[ magrinjo @ 13.12.2020. 16:15 ] @
Pozdrav,

Imam neku ideju gde bi klijent na mom sajtu mogao da napravi neku vrstu "semafora" u sportskom smislu, gde bi podesio rezultat utakmice a zatim imao opciju da taj 'semafor' i vizuelno embeduje na svoj sajt tako da njegov posetilac ima utisak da je to ispis njegovog sajta a ne mojeg.

Jasno mi je da postoji iFrame ali sa sigurnosne strane ne bih zeleo da se igram tom metodom.

Sta biste mi preporucili?
[ mjanjic @ 14.12.2020. 01:50 ] @
Može na ovaj (ili sličan) način: https://css-tricks.com/dynamic-page-replacing-content/
To je što se tiče sadržaja. Ako sadržaj ima u sebi pored HTML-a i neki JS, moguće je da neće raditi zbog zaštite od Cross-site Scripting (XSS).
Da bi 100% radilo, bolje je uključiti sadržaj drugog sajta pomoću PHP-a, naravno opet ako je moguće i ako se time ne ugrožava bezbednost sajta.
[ Deunan @ 14.12.2020. 11:08 ] @
Napravi obican javascript widget. Recimo sacuvaj na svom sajtu widget.js:

Code:

(function() {
    window.addEventListener("load", function()  {  // sacekaj da se ucita stranica
        let widgetContainer = document.getElementById("widget_container");   // nadji kontejner koji ce korisnik da postavi (pogledaj ispod)
        widgetContainer.innerHTML = "<div style='background: red; padding: 20px; color: white'> TEKST IZ WIDGETA </div>";
    });
}());


Kazi korisnicima da dodaju widget na svoj sajt:
Code:

1. Neka dodaju script na stranicu:
<script async src="https://tvojsajt.rs/widget.js"></script>

2. Neka dodaju widget kontejner gde zele da im se widget nalazi:
<div id="widget_container"></div>


Ako ti trebaju podaci sa tvog sajta, dodaj ajax call u widget i povuci sa svog sajta.


[ mjanjic @ 14.12.2020. 18:42 ] @
Nebih preporučio učitavanje JS fajla sa sajta koji može da bude napadnut, hakovan i sl., a posebno što neko sutra može da izmeni taj JS pa da na sajtu odakle se poziva nešto ne radi kako treba.

Mislim, OK, to će da radi, samo nije preporuka da se radi tako.
Taj kôd sa semaforom može da se stavi u poseban fajl i da se učitava na lokalnoj strani (npr. JS-om, a može i PHP-om i sl., ili Server Side Includes ako je aktiviran), a na drugom sajtu može da se pozove AJAX-om i upiše gde je potrebno - jedino tu treba obratiti pažnju na to da taj sadržaj pored HTML-a može eventualno imati neki JS (ako ne namerno od strane onoga ko je radio stranu, onda od strane napadača koji je taj JS injektovao u taj HTML), pa je poželjno koristiti DOMPurify: https://developer.mozilla.org/...g_external_content_into_a_page