Adăugați un marcaj care este doar javascript, nu un URL

Mă gândesc că motivul pentru care nu pot face acest lucru este că ar putea fi o gaură de securitate imensă, dar aici merge ...

Vreau să aibă un marcaj pe browserul meu (de preferință FF3), care este doar un fragment de cod JavaScript. Ea ar construi doar o adresă URL bazată pe data curentă și apoi va face o fereastră.location = pe acea adresă URL.

Știu că aș putea să fac o pagină și să o păstrez pe mașina mea locală și să mă refer la ea în felul ăsta, dar mă întrebam dacă ai putea ocoli pasul ăsta și de fapt ai "locația" marcajului chiar să fii javascript. Puteam să jur că asta a fost posibil acum câțiva ani, dar nu găsesc nimic care să-mi spună nici acum.

0
fr hi bn

4 răspunsuri

Ei bine, tocmai am creat un marcaj în FF3, m-am întors și l-am actualizat și am adăugat următorul test:

javascript:alert('Wacky%20test%20yo');

Scăzută și iată, după ce am salvat și încărcat, am putut să-mi aduc aminte.

Sunt sigur că se poate lucra la ceva similar pentru nevoile dumneavoastra.

0
adăugat

Ceea ce doriți este un bookmarklet , acestea fiind ușor de creat și ar trebui să funcționeze în majoritatea browserelor importante.

Editare: Depășirea stivei pare să nu permită crearea de marcatori în contextul site-ului, în esență puteți crea un marcaj nou și tastați următoarele în câmpul de locație

javascript:window.location='http://www.google.com/search?q='+Date()

pentru a obține un marcator de carte care caută Google pentru data curentă.

0
adăugat

O captură minoră. IE poate gestiona numai o adresă URL de caractere 508 în acest format. Dacă o salvați în IE cu o adresă URL mai lungă, aceasta va trunchia fără avertisment și, astfel, va eșua.

Dacă aveți nevoie de un script cu adevărat complex, va trebui să utilizați un marcator "găzduit", în care aveți un marcaj scurt care introduce o etichetă de script în pagină, pentru a "apela" marcatorul de carnete găzduit.

Nu este la fel de frumos/portabil, dar este singurul mod de rezolvare.

0
adăugat
corect. Trebuie doar să încărcați conținutul de script pe care îl doriți de la un alt site.
adăugat autor scunliffe, sursa
Deci, modelul pentru acest lucru este ceva de genul: javascript: (function() {document.body.appendChild (document.cr & zwnj; eateElement ('script' & zwnj;)) src = ' yoursite.com & zwnj; /js/bookmarklet.js&#‌ 39 ;;}) ();
adăugat autor Shermozle, sursa

Este demn de remarcat că puteți pune și asta într-un pachet de funcții. imranamajeed frumos ilustrat pentru noi ... dar aparent sunt prea nou la site-ul pentru a-și ridica postul. : P

astfel încât pentru claritate:

javascript:(function(){
  location.href = location.href + "#";
})();

(retururile de transport nu au afectat performanța în crom și IE)

0
adăugat
Da, înfășurarea acesteia într-o funcție împiedică revenirea valorii de întoarcere la fereastra curentă.
adăugat autor mb21, sursa
JavaScript, România - Moldova
JavaScript, România - Moldova
328 participanți

Comunitatea Română JavaScript: github.com/js-ro Pentru confort, opriți notificările. Parteneri: @node_ro, @php_ro, @python_ro, @seo_ro, @RomaniaGroup, @ai_ro, @Grupuri_IT Offtop: @holywars_ro Joburi: @js_jobs_ro Sponsored with ❤️ by ciupacabra.com