Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zagmatwane :), Frame + OnClick czy cos?
flasht
post
Post #1





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 4.03.2004

Ostrzeżenie: (0%)
-----


=> Sytuacja wyglada nastepujaco:
Mam index.html i frame w nim... w frame jest strona ktorej nie moge modyfikowac - strona z linkami otwierajacymi sie w nowym oknie.

=> Chcialbym:
Tak zakombinowac, zeby po kliknieciu w ktoregos linka nie tylko otwieralo sie okno z zawartoscia strony do ktorej sie link odnosi, ale takze zmieniala strona z ktorej kliknieto (cala niekoniecznie tylko frame) na jakas inna. Zaznaczam ze moge edytowac tylko index.html a nie strone z linkami sama w sobie.

=> Czy jest to mozliwe?
A jesli jest to mozliwe to bylbym wdzieczny za pomoc jak tego dokonac.

Pozdrawiam
FlashT
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
orson
post
Post #2





Grupa: Zarejestrowani
Postów: 548
Pomógł: 2
Dołączył: 19.07.2003

Ostrzeżenie: (0%)
-----


witam ...

hmm ... nie bardzo wiem z czym masz problem ... ta funkcja ga ... to jest twoja funkcja (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) co ona robi (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) bo narazie nigdzie nie jest wywoływana ...

a jeżeli chodzi o linki ... w index.html dodajesz kod który odwołuje się do ramki po jej id:
Kod
var frameDoc = document.getElementById('<frame_id>').contentDocument;

i potem normalne operacje na domie można robić tylko zamiast np. document.getElementsByTagName('a') dajesz frameDoc.getElementsByTagName('a') i masz wszystkie linki z dokumentu w ramce ... potem robisz na tej kolekcji fora i dodajesz event onclick=function (){ ga(<param1>, <param2>); }

pozdrawiam
edit:
kod pobierania dokumentu z ramki jest oczywiście zgodny ze specyfikacją w3c DOM więc nie działa w ie :| poniżej funkcja która zwraca dokument w zależności od przeglądarki:
Kod
function getIFrameDocument(aID){
        var rv = null;
      
        // if contentDocument exists, W3C compliant (Mozilla)
        if (document.getElementById(aID).contentDocument){
          rv = document.getElementById(aID).contentDocument;
        } else {
          // IE
          rv = document.frames[aID].document;
        }
        
        return rv;
      }

wywołanie zmieni się więc na takie:
Kod
var frameDoc = getIFrameDocument('<frame_id>');

dalej już tak samo ...
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.12.2025 - 21:53