NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

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.

Aktivity
Avatar
Verquido
Tvůrce
Avatar
Verquido:1.1.2016 22:23

Zdravím, potřeboval bych poradit jak pomocí javascriptu získat URL adresu z odkazu. Ale jde mi o to aby to fungovalo pro každý odkaz. Když je v textu odkaz tak bych chtěl abych na něj najel a vyjela mi nabídka jestli ho chci otevřít nebo zkopírovat URL adresu do clip boardu. Ale aby to fungovalo pro každý odkaz. Díky moc :)

 
Odpovědět
1.1.2016 22:23
Avatar
Odpovídá na Verquido
Neaktivní uživatel:1.1.2016 22:25

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.

Nahoru Odpovědět
1.1.2016 22:25
Neaktivní uživatelský účet
Avatar
Verquido
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Verquido:1.1.2016 22:29

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? :)

 
Nahoru Odpovědět
1.1.2016 22:29
Avatar
Odpovídá na Verquido
Neaktivní uživatel:1.1.2016 22:39

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

Editováno 1.1.2016 22:42
Nahoru Odpovědět
1.1.2016 22:39
Neaktivní uživatelský účet
Avatar
Verquido
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Verquido:1.1.2016 22:51

Dobře, ale mě jde hlavně o tu funkčnost. Menu bych asi udělat zvládl :)

 
Nahoru Odpovědět
1.1.2016 22:51
Avatar
Odpovídá na Verquido
Neaktivní uživatel:1.1.2016 23:23

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

Nahoru Odpovědět
1.1.2016 23:23
Neaktivní uživatelský účet
Avatar
Verquido
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Verquido:1.1.2016 23:47

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? :D

 
Nahoru Odpovědět
1.1.2016 23:47
Avatar
Neaktivní uživatel:2.1.2016 0:23

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..

Nahoru Odpovědět
2.1.2016 0:23
Neaktivní uživatelský účet
Avatar
Verquido
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Verquido:2.1.2016 0:34

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 :D

 
Nahoru Odpovědět
2.1.2016 0:34
Avatar
Odpovídá na Verquido
Neaktivní uživatel:2.1.2016 0:40

aah uz chapu... vydr postavim ti fiddle :)

Nahoru Odpovědět
2.1.2016 0:40
Neaktivní uživatelský účet
Avatar
Odpovídá na Verquido
Neaktivní uživatel:2.1.2016 1:21

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 documentGetEle­mentsByClass("ta­Classa") a pro kazdej z tech odkazu vytvoris event listener takhle addEventListe­ner("click", funckce(event))

tvoje funkce bude obsahovat nekolik ztezejnich veci, zaprve prvni co udela ze spusti event.preventDe­fault() 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(sha­redObject.getAt­tribute("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...

Editováno 2.1.2016 1:22
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
2.1.2016 1:21
Neaktivní uživatelský účet
Avatar
Verquido
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Verquido:2.1.2016 8:15

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

 
Nahoru Odpovědět
2.1.2016 8:15
Avatar
Odpovídá na Verquido
Neaktivní uživatel:2.1.2016 12:11

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 :)

Nahoru Odpovědět
2.1.2016 12:11
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Neaktivní uživatel:2.1.2016 12:30

Kdysi jsem na to udělal motivační komiks :D

Nahoru Odpovědět
2.1.2016 12:30
Neaktivní uživatelský účet
Avatar
Nahoru Odpovědět
2.1.2016 12:55
Neaktivní uživatelský účet
Avatar
Verquido
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Verquido:2.1.2016 15:17

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 :)

 
Nahoru Odpovědět
2.1.2016 15:17
Avatar
Odpovídá na Verquido
Neaktivní uživatel:2.1.2016 16:19

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...

Nahoru Odpovědět
2.1.2016 16:19
Neaktivní uživatelský účet
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 17 zpráv z 17.