Injectare cod javascript
Sunt unele situri care pur si simplu te lasa sa iti formatezi textul scris de tine . De exemplu un blog iti ofera tool-uri cu care sa inserezi diverse elemente html sau il formatezi de mana. In felul acesta iti customizezi ceea ce pui pe net. Mai sunt si situri pe care poti edita html-ul, dar nu poti insera taguri <script><script/>. Le "elimina". Vrei uneori sa te bucuri si de functionalitatile unui limbaj client ca JavaScript, pentru care codul se afla undeva la un URL. Adaugi o referinta la el
<head> <script language="JavaScript" src="URL"></script> </head>
eJobs e un site pe care iti faci un CV, il mai aranjezi un pic cu niste formatari. E ok. Se stie ca un CV stufos nu arata prea bine. Dar parca ai vrea sa pui si aia si aia.. si ca ai facut aia la firma X .. orice, si se aduna si te bate gandul sa gasesti o modalitate prin care sa le arati, dar doar la cerere. Asadar, iti faci un div.. pui totul acolo si un buton care sa nu faca nimic altceva decat sa-ti arate divul sau sa-l ascunda. Toate bune si frumoase, numai ca asta nu se poate face decat cu un JavaScript, iar eJobs nu te lasa sa pui taguri <script><script/>, ti le sterge.
Deci, cum poti injecta JavaScript, cand ai posibilitatea sa iti formatezi textul cu taguri HTML?
Am gasit pe net un JavaScript care colapseaza sau expandeaza un div. L-am pus pe un server si astfel am un URL de la care pot sa accesez scriptul dintr-un HTML. E nevoie de un <img>, un <a> si la onClick se ataseaza functia care face expand/collapse, iar ca parametru se trimite idul div-ului. Se comporta cam asa ...
Si am "injectat" scriptul adaugand inline la evenimentul onLoad de la tagul img :
<div id="jsRepo">
<a onclick="shoh('shownRegionID');"> // apel la functia din script
<img onload="
var div = document.getElementById('jsRepo'); // va fi parintele pentru tagul script
if ( !document.getElementById('s1')) // se inseareaza tagul o singura data
{
var script = document.createElement('script');
script.setAttribute('src',
'http://www.fileden.com/files/2007/10/25/1539344/collapse_expand_single_item.txt'
);
script.setAttribute('language','JavaScript');
script.setAttribute('id','s1');
div.appendChild(script);
}"
src="...".. /> </a> </div>
Comments
Post a Comment