Diskuze: Získání URL adresy pomocí Javascriptu.

JavaScript JavaScript Získání URL adresy pomocí Javascriptu.

Avatar
Paranormal
Redaktor
Avatar
Paranormal:

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. ledna 22:23
„Když toho moc neumíme tak jsme na nejlepší pozici se něčemu naučit.“
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Paranormal
Taskkill:

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. ledna 22:25
Avatar
Paranormal
Redaktor
Avatar
Odpovídá na Taskkill
Paranormal:

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. ledna 22:29
„Když toho moc neumíme tak jsme na nejlepší pozici se něčemu naučit.“
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Paranormal
Taskkill:

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. ledna 22:42
 
Nahoru Odpovědět 1. ledna 22:39
Avatar
Paranormal
Redaktor
Avatar
Odpovídá na Taskkill
Paranormal:

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

Nahoru Odpovědět 1. ledna 22:51
„Když toho moc neumíme tak jsme na nejlepší pozici se něčemu naučit.“
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Paranormal
Taskkill:

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. ledna 23:23
Avatar
Paranormal
Redaktor
Avatar
Odpovídá na Taskkill
Paranormal:

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. ledna 23:47
„Když toho moc neumíme tak jsme na nejlepší pozici se něčemu naučit.“
Avatar
Taskkill
Redaktor
Avatar
Taskkill:

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. ledna 0:23
Avatar
Paranormal
Redaktor
Avatar
Odpovídá na Taskkill
Paranormal:

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. ledna 0:34
„Když toho moc neumíme tak jsme na nejlepší pozici se něčemu naučit.“
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Paranormal
Taskkill:

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

 
Nahoru Odpovědět 2. ledna 0:40
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Paranormal
Taskkill:

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. ledna 1:22
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět  +1 2. ledna 1:21
Avatar
Paranormal
Redaktor
Avatar
Odpovídá na Taskkill
Paranormal:

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. ledna 8:15
„Když toho moc neumíme tak jsme na nejlepší pozici se něčemu naučit.“
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Paranormal
Taskkill:

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. ledna 12:11
Avatar
Fredep
Redaktor
Avatar
Odpovídá na Taskkill
Fredep:

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

Nahoru Odpovědět  +4 2. ledna 12:30
Týmová práce je důležitá proto, aby bylo možno obvinit z neúspěchu někoho jiného.
Avatar
Taskkill
Redaktor
Avatar
Avatar
Paranormal
Redaktor
Avatar
Odpovídá na Taskkill
Paranormal:

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. ledna 15:17
„Když toho moc neumíme tak jsme na nejlepší pozici se něčemu naučit.“
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Paranormal
Taskkill:

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  +1 2. ledna 16:19
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.