Pohodový přivýdělek, PHP a MySQL, 350 Kč/hod. z domova. Chceš? Klikni pro více info.
Avatar
John Ronald Reuel Tolkien:13. února 15:08

Zdravím, chtěl bych se zeptat zda li je možné nastavit do události onclick takovou funkci, která otevře nové okno se stránkou, kterou tam nastavím.Jestli že ne, bylo by možné vložit do element.value hypertextový odkaz ? Aby se po kliknutí na element otevřela nová stránka.
Děkuji za odpověď.

 
Odpovědět 13. února 15:08
Avatar
Marian Benčat
Redaktor
Avatar
Odpovídá na John Ronald Reuel Tolkien
Marian Benčat:13. února 15:09

Na otevírání nové stránky javascriptem při kliknutí raději zapomeň, to ti každý prohlížeč/anti­vir/adblock zablokuje.

Mnohem lepší řešení bude, když tim javascriptem do DOMu přidáš normální kotvu s _blank targetem.
(to je to, proč tě každá pornostránka nutí kliknout na "Close and play", protože otevřít nové okno javascriptem by se ji nepovedlo - potřebuje interakci uživatele jinou než JS)

Editováno 13. února 15:10
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět  +2 13. února 15:09
In Smalltalk, everything is an object, In Clojure, everything is a list, In Javascript, everything is fucking mistake
Avatar
Marian Benčat
Redaktor
Avatar
Marian Benčat:14. února 9:21

Ještě bych dodal, že teď to tuším nějak vylepšili a pokud je otevření nového okna PŘÍMO v event handleru onclick() události, tak to snad i dovolí AdBlock,.. ale musí to být přímo v něm, emuzes v tom onclicku treba enqueunout nejaky callback a dělat to až v něm...

Tj.

PROJDE

<button onclick="click_handle()">

click_handle() {
  // open new window
}

TOTO TŘEBA NEPROJDE


<button onclick="click_handle()">

click_handle() {
setTimeout( // open new window, 1);
}

Takže doporučuji ozkoušet.

Editováno 14. února 9:22
Nahoru Odpovědět 14. února 9:21
In Smalltalk, everything is an object, In Clojure, everything is a list, In Javascript, everything is fucking mistake
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 4 zpráv z 4.