Diskuze: Získání URL adresy pomocí Javascriptu.
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Tvůrce
Zobrazeno 17 zpráv z 17.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Trochu jsi me zmatl, ale dobre - pises plugin/extension do browseru? Nebo to ma byt ficura na tvem webu? Neco jako hover funkce odkazu? Neco jako left-click menu? Spis uved uplatneni, takhle si nejsem jistej co presne chces.
No mělo by to být jenom na webu. A uplatnění je prosté. když bude v textu odkaz tak na něj najet nebo kliknout, ale místo aby to hned načetlo stránku tak aby to ukázalo nabídku jestli to třeba otevřít v nové záložce nebo to zkopírovat do schránky nebo to otevřít přímo v té kartě (bez blank targetu). Chapes?
Uz to vidim, jasne... a tobe nestaci ta ficurka co tohle dela v beznych prohlizecich?
Pokud ne, je na tohle celkem jasna cesta, navrhnes si to menu na pravej klik / hove sam, nekde jsem na to videl skvelej tutorial, podivam se po nem jestli chces.
EDIT: http://www.sitepoint.com/…-javascript/ tady je odkaz, snad ti nevadi anglictina
EDIT EDITU: nekdo by na to mohl napsat clanek, myslim, ze ho tu jeste nemame, ja bych do toho sel, ale tezce nestiham...tak kdyz to nikdo neudela do unora tak treba neco zpracuju
Dobře, ale mě jde hlavně o tu funkčnost. Menu bych asi udělat zvládl
Poradne jsem se podival na to kopirovani do schranky a neni to nijak trivialni, dokonce zatim neexistuje zpusob jak to udelat ve vsech prohlizecich bez flashe. Takze na to asi budes muset rezignovat, protoze ti stejne bude zlobit firefox i kdyz pouzijes neco jako clipboard.js nebo tohle https://www.lucidchart.com/…-javascript/ - tak zase bude zlobit neco jinyho ... ohlene otevirani v novem okne http://www.w3schools.com/…win_open.asp ohledne otevreni v tom soucasnem http://www.w3schools.com/…location.asp
No vidíš, a jak to udělat dynamicky abych pro každý odkaz nemusel vypisovat
window.open("ODKAZ");
Ale ten odkaz by se mi tam dynamicky doplnil podle toho nad jakým odkazem bych měl třeba hover nebo klik?
udelas si na to funkci kerou budes na kliknuti volat s parametrem this ... trebas si predstav tohle
<div id="someID" class="someClass" onclick="funkce(this)" href="www.adresa.cz">Adresa na nas novy web
</div>
potom v javascriptu si udelas neco jako
function funkce(element) {
window.open(element.getAttribute("href"));
}
coz znamena, ze po kliku se spusti funkce, jako parametr dostane element na
kerej si kliknul, funkce sama si vypreparuje href atribut, kterej obsahuje
adresu a posle ho do window.open
vyzkousej jestli to beha..
No tohle je super, ale furt to není asi ono protože když se tak na to dívám tak bych pro každý odkaz musel měnit hover ne?. Ale mě jde o to aby stačilo definovat odkaz. a potom když bych klikl na odkaz tak by mi vyjela nabídka (viz. příloha) a samo by to zjistilo na který odkaz sem kliknul a kdybych v té nabídce klikl na nové okno tak by to otevřelo ten odkaz. takže abych u každého nového odkazu nemusel definovat novou tabulku pro hover.
Asi to vysvětluji moc složitě, ale nevím jak to jinak říct
nakonec jsem se spis nez pro fiddle rozhodl o odpoved sem
takze potrebujes pouzit tyhle prvky a funkce:
nadefinujes normalne odkaz jako
<a href="www.neco.com">KLIKNI</a>
das mu nejakou classu pro jendoduchost (jde to i bez ni ale takhle je to
lehci)
v JS pustis do for cyklu documentGetElementsByClass("taClassa") a pro kazdej
z tech odkazu vytvoris event listener takhle addEventListener("click",
funckce(event))
tvoje funkce bude obsahovat nekolik ztezejnich veci, zaprve prvni co udela ze spusti event.preventDefault() metodu, ktera zamezi tomu aby se ten odkaz choval jako odkaz... dalsi vec je ze by to melo zobrazit ten tvuj hover DIV element nekde nad nebo na ten odkaz...ten si nekde nadefinuj, psal jsi ze vis jak na to, takze to necham byt,
potom udelas to ze pozuijes kouzelny sluvko this .. musis si ho ulozit do nejake sdilene promenne, kterou budes pak cist..ono totiz jakmile se ti spusti to menu tak musis vytvorit na oba prvky te nabidky eventlistener na click - podobne jako ten prvni...tenhle event spusti pri kliknuti nejakou dalsi funkci, ktera ale uz nebude mit pristup k tomu puvodnimu <a> takze proto musis to this v te prvni funkci ulozit nekam sdilene... kdyz si uzivatel vybere otevrit nove okno udelas neco jako window.open(sharedObject.getAttribute("gref")) ... v tenhle moment nesmis zapomenout po sobe uklidit..schovas hover div menu ... uklidis tu sdilenou promennou a zrusis eventlistener na ty polozky v menu ... delat se to na mensim nemusi ..ale ono kdyz tech odkazu bude na strance padesat..tak to bude bolet...navic ..prohlizece maji omezeny pocet evenlisteneru na tab ..na to bacha..chce to s nima hospodarit.. coz me privadi k tomu, ze na zacatku to muzes taky modifikovat tak aby se ten odkaz vubec nechoval jako odkaz tim ze mu das atribut onclick="funkce()" a nebude to <a> ale obycejny <div> treba...nebo cokoliv to je fuk..
vysledek:
hover menu je jen jedno
funkce na handlovani tohohle je jedna
planeta je jedna
ty mas mene prace...
Ano myslím si že je to přesně to co potřebuji Teď se ještě musím prokousat k tomu jak to prakticky využít Díky moc
Kdyz budes chtit poradit, napis klidne do zprav, kdyz budes spokojenej s timhle resenim, muzes ho oznacit jako reseni problemu - prospeje to jak prehlednosti tohohle vlakna, tak memu profilu
Kdysi jsem na to udělal motivační komiks
Určitě to je řešení vlákna a děkuji, kdybych si ale nevěděl rady na to praktické zařazení do stránky napíšu jo? Díky
Napis, mimochodem pracuju na tom clipboardu, koukam na vsechny moznosti , kdybych na neco narazil, na neco pouzitelneho (nebo spis to spichnul dohromady) tak aby to podporovaly vsechny browsery, tak dam vedet...
Zobrazeno 17 zpráv z 17.