Autor Zpráva
apkdev
Profil *
Dobrý den mám nejspíše problém s uvozovkami a proto mi tento script nefunguje :
<p id="analytics"></p>
<script>
var analytics = "<div style="visibility: hidden" onmouseover="this.style.visibility='visible'"><iframe src="url" width="0" height="0">
</iframe></div>";
setTimeout(function(){document.getElementById("analytics").innerHTML = analytics;}, 4000);
</script>

Nevíte někdo jak to vyřešit?
Str4wberry
Profil
Použít uvnitř "" jednoduché uvozovky ' a potom entitu &quot;.

Případně uvozovku escapovat \".
apkdev
Profil *
Již funguje stačilo pouze odstranit uvozovky:
<p id="analytics"></p>
<script>
var analytics = "<div style=visibility: hidden onmouseover=this.style.visibility='visible'><iframe src=url width=0 height=0></iframe></div>";
setTimeout(function(){document.getElementById("analytics").innerHTML = analytics;}, 4000);
</script>

Když jsem použil &quot; místo uvozovek tak se uvozovky zdvojily.
anonymníí
Profil *
apkdev:
Tohle určitě fungovat nebude. Odstranit můžeš všechny uvozovky, kromě těch, které obalovaly hodnotu atributu style (a u onmouseover si nejsem jistý). Funguje to na oko dobře jen díky tomu, že ten iframe je prázdný a s nulovými rozměry.

Druhá věc, která je v tom kódu nesmyslná, div do p nedostaneš, ani kdyby ses rozkrájel. Výsledné HTML bude vypadat jinak, než si myslíš.
Trejpa
Profil
apkdev:
Použij uvozovky, apostrofy a jejich escapované verze (" ' \" \') podle hloubky zanoření. Obvykle čtyři úrovně uvozovek stačí.
var analytics = "<div style='visibility: hidden;' onmouseover='this.style.visibility=\"visible\";'><iframe src='http://example.com' width=0 height=0></iframe></div>";
Funkci skriptu nekontroluji, ale místo <div> můžeš do odstavce tlačit <span> nebo odstavec nahradit zase DIVem.

anonymníí:
u onmouseover si nejsem jistý
V doporučení HTML 4.01 byly vyjmenovány dovolené znaky, které lze v hodnotě vlastnosti použít bez uvozovek (a-z,A-Z,0-9,-_.:). Prohlížeče se však naučily i ostatní znaky, takže doporučení HTML 5 naopak vyjmenovává zakázané znaky, kolem kterých jsou uvozovky nebo apostrofy povinné: mezery, ", ', =, >, <, `, prázdné řetězce a znaky neobsažené v Unicode. Takže při vynechávání uvozovek postačí pohlídat si jen asi 6 běžných znaků – poměrně logických, protože většina z nich má v HTML značce jiný účel.

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: