Autor Zpráva
Hrady
Profil
Zdravím všechny,
pokouším se udělat kód na zjištění zda se změnil title stránky .. povedlo se mi vytvořit toto:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <title>Ahoj</title>
  <script type="text/javascript" language="JavaScript">
  <!--
    this.func = function()
    {
      alert('Title zmeneno.');
    }
    window.onload = function()
    {
      document.getElementsByTagName('title')[0].addEventListener('DOMSubtreeModified', func, false);
    }
  //-->
  </script>
  </head>
  <body>
    <a href="#" onclick="document.title = 'Test'">Změnit</a>
  </body>
</html>


problém je že tento kód nefunguje v Opeře, ve FF funguje jak má (po stiskuní na změnit se změní title a ukáže se alert s "Title zmeneno.") ale v Opeře je to mrtvý (jen se změní title).
Předem děkuju za radu
Witiko
Profil
Hrady:
Ano, Opera a Internet Explorer tento event nepodporují: http://help.dottoro.com/ljrmcldi.php
V ideálním světě bychom mohli nově implementované prvky co se týče webových technologií aplikovat ihned, obávám se ale, že v tom reálném bude třeba pro neznaeventy mezi prohlížeči využít náhradního řešení - tzn. bez použití event listeneru, ale intervalu, což je poměrně nepěkné řešení.

Smím se zeptat, má-li tato kontrola nějaký vyšší smysl nebo jde jen o hraní si s kódem? Já osobně při tvorbě stránek první věc, kterou udělám, je ošetření proti změnám titulku. Nesnesl bych, kdyby jej nějaký drzý návštěvník poupravil. :-)
Hrady
Profil
Děkuju moc za reakci, jdu hledat náhradní řešení. :-)
Potřebuju to pro tvorbu jednoho rozšíření pro Operu (Opera Extension), tzn. je potřeba JS, který se "nabourá" do existující stránky a pak reaguje na právě různý události tý stránky. ;-)
Hrady
Profil
Bezva, teď jsem zjistil, že lze požít event "DOMNodeInserted" a funguje to v zásadě tak jak potřebuji :-) ... děkuji za nakopnutí :-)

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:

0