Autor Zpráva
leonek
Profil
Zdravím, mělo by to změnit adresu iframe po přejetí myší, jen když je src prazdné:

<iframe onmouseover="if(this.src==''){this.src='https://www.google.com/maps/embed?atd5435'}" src="" frameborder="0" class="mapa" allowfullscreen></iframe>

Upraveno: omlouvám se, zapoměl jsem odstranit escapování.
Bubák
Profil
<iframe src="" onmouseover="if(this.src==''){this.src='https://www.jakpsatweb.cz/javascript/'}">kuk</iframe>
<br>
<br>
<iframe src="https://www.jakpsatweb.cz/" onmouseover="if(this.src==''){this.src='https://www.jakpsatweb.cz/javascript/'}">kuk</iframe>
Živá ukázka
leonek
Profil
Bubák:
Mám tím chápat, že src, nemůže být prázdné aby fungoval js?
Bubák
Profil
JS funguje podle očekávání a podle toho, jak jsem pochopil zadání. Nebo chceš něco jiného?
leonek
Profil
Dobře, vyjádřím se přesněji:
Po přejetí myší nad prázdným <iframe> by se měla do src vložit adresa (google.com/maps....) jen když je src prázdné.

Bubák:
V živé ukázce ti nefunguje ani jeden z těch příkladů, i když by ten první měl fungovat a to je můj problém.
Bubák
Profil
Aha, jí to zkoušel jen ve staré Opeře a tam to jde, teď jsem to zkusil v Chrome a nejde to. Vypadá to, že Chrome nepozná onmouseover nad iframe.
Chamurappi
Profil
Reaguji na leonka:
jen když je src prazdné
Což znamená, že je jaké? Prázdný řetězec je obyčejná relativní adresa, nikoliv informace „žádná adresa tu není“. Teď nevím, jak přesně funguje relativní adresa u src, ale pokud jsi na protokol://doména/web/stranka.html, tak "" vede buď na protokol://doména/web/stranka.html, nebo na protokol://doména/web/.

Chtěl bych také podotknout, že na src nemůžeš sahat, pokud je v rámu již načtená stránka z cizí domény – prohlížeč vyhodí bezpečnostní výjimku.

K čemu má tvůj kousek kódu sloužit? Nešlo by vymyslet lepší řešení?
leonek
Profil
Chamurappi:
Děkuji za informace. Myslel jsem, že rám k prázdnému atributu přistupuje jako PHP k prázdné proměnné.

Myslel jsem, že udělám zjednodušené lazy načítání mapy, po onmouseover.

Lepší řešení bude nakonec použití knihovny na lazy načítání po posunutí prvku do viditelné pozice v okně, což jsem aplikoval. Naneštěstí to nechce fungovat. Nemáte někdo zkušenosti s JS knihovnou b-Lazy. Nedaří se mi to zprovoznit...

<iframe class="b-lazy" data-src="https://www.google.com/maps/" width="910" height="400" frameborder="0" style="border:0" allowfullscreen></iframe>
weroro
Profil
leonek:
A keby si vyskúšal src v iframe vôbec nezadávať? Vtedy by mal javascript vyhodnotiť src ako prázdne.
<iframe onmouseover="if(this.src==''){this.src='https://www.google.com/maps/embed?atd5435'}" frameborder="0" class="mapa" allowfullscreen></iframe>

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: