Anzeige:
Ergebnis 1 bis 8 von 8

Thema: Problem bei Änderung von Frameinhalten mit JavaScript

  1. #1
    Registrierter Benutzer
    Registriert seit
    31.01.2001
    Ort
    Solingen
    Beiträge
    47

    Problem bei Änderung von Frameinhalten mit JavaScript

    Ok, ich habe drei Frames

    1. menu
    2. kopf2
    3. main

    Hier mein script:

    <script type="text/javascript">
    <!--
    function dreiframes(URI1,F1,URI2,F2,URI3,F3) {
    Frame1=eval("parent."+F1);
    Frame2=eval("parent."+F2);
    Frame2=eval("parent."+F3);
    Frame1.location.href = URI1;
    Frame2.location.href = URI2;
    Frame2.location.href = URI3;
    }
    //-->
    </script>

    und hier mein link:

    <a href="javascript:dreiframes('../kopf2/kopfgelb.html','kopf2','menugelb.html','menu','../test.html','main')"><font size="3"><strong>Protektorin</strong></font></a>

    Das Problem ist, dass das Script nicht den Frame änder in dem das Script sich selbst befindet... d.h. in menu

    Wie bekomme ich es hin, das er mir auch den frame menu mit dem link ändert?

    GoRn
    ~~~~~~~~~~~~~~~
    Ubuntu
    Gnome
    ~~~~~~~~~~~~~~~

  2. #2
    Registrierter Benutzer
    Registriert seit
    27.08.2002
    Beiträge
    337
    So ganz hab ich wahrscheinlich nicht verstanden, was du willst, aber ich denke mal es soll so etwas in der Art herauskommen.
    Den Refresh kannst du wie ich mit
    window.cbe.addEventListener("resize", init, false);
    abfangen oder durch den Aufruf der Funktion init() mit einem Link.
    Ich mag Frames nicht. Da finden die Suchmaschinen nichts mehr.


    Code:
    <html><head>
    <title>Div-Test</title>
    <style>
    A:link      {color : black; text-decoration: none; font-size : 9pt;}
    A:visited   {color : black; text-decoration: none; font-size : 9pt;}
    A:hover     {color : black; text-decoration: none; font-size : 9pt;}
    A:active    {color : black; text-decoration: none; font-size : 9pt;} 
    
    .a {position:absolute; visibility:hidden; 
        width:50; height:50; 
        background:transparent; layer-background-color:transparent;}           
    
    </style>
    
      <script type='text/javascript' src='cbe/cbe_core.js'></script>
      <script type='text/javascript' src='cbe/cbe_clip.js'></script>
      <script type='text/javascript' src='cbe/cbe_debug.js'></script>
      <script type='text/javascript' src='cbe/cbe_slide.js'></script>
      <script type='text/javascript' src='cbe/cbe_slide2.js'></script>
      <script type='text/javascript' src='cbe/cbe_event.js'></script>
     
    <script type='text/javascript'>
    <!--
    var  a1,a2,a3;
    
    function windowOnload() {init()};
    
    function init(){
    
      var st = document.cbe.scrollTop();
      window.cbe.addEventListener("resize", init, false); 
      window.cbe.addEventListener('scroll', scrollListener); 
    
     with (a1 = cbeGetElementById('a1').cbe) {
            background("#C00000");
            resizeTo(document.cbe.width(),110);
            moveTo(0,0);
            show();        
            }    
    
     with (a2 = cbeGetElementById('a2').cbe) {
            background("#ED6A1B");
            resizeTo(200,document.cbe.height()-110);
            moveTo(10,120+st);
            show();        
            }    
    
     with (a3 = cbeGetElementById('a3').cbe) {
            background("#EDD71B");
            resizeTo(document.cbe.width()-200,document.cbe.height()-110);
            moveTo(210,120);
            show();        
            }    
    
       function scrollListener(e) {
         var st = document.cbe.scrollTop();
         a2.slideTo(10, 120 + st,800); 
           
     }
     
    }
    //-->
    </script>
    </head>
    
    <body bgcolor="#808080"> 
    <div id="a1" class="a">Hier steht der Kopf</div>
    <div id="a2" class="a">Hier steht das Menü</div>
    <div id="a3" class="a">Hier steht der eigentliche Text</div>
    
    </div>
    </body>
    </html>
    Die JS-Dateien bekommst du bei http://www.cross-browser.com im Download

  3. #3
    Registrierter Benutzer
    Registriert seit
    31.01.2001
    Ort
    Solingen
    Beiträge
    47
    Mit div ist auch ne coole idee.. doch der Kunde will selber ändern und das rallt der dann nicht :-) ich habe extra untervezeichnisse mit den daten angelegt die er ändern kann.

    So z.B. alle Seite die im main laufen - so kann er die inhalte einfach ändern.

    Und meinen Fehler habe ich jetzt auch :-)

    "Frame1=eval("parent."+F1);
    Frame2=eval("parent."+F2);
    Frame2=eval("parent."+F3);
    Frame1.location.href = URI1;
    Frame2.location.href = URI2;
    Frame2.location.href = URI3;
    } "

    da muss nicht vier mal frame2 stehen :-)

    THX

    GoRn
    ~~~~~~~~~~~~~~~
    Ubuntu
    Gnome
    ~~~~~~~~~~~~~~~

  4. #4
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Ich hab mal den Betreff geändert.
    Mit Java hatte es ja nichts zu tun.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  5. #5
    Registrierter Benutzer
    Registriert seit
    31.01.2001
    Ort
    Solingen
    Beiträge
    47
    wieso nicht mit java...? das ist ein javascript mit dem die frames geändert werden....

    macht aber nichts.. der fehler lag auch an mir.. war einfach zu blind.

    GoRn
    ~~~~~~~~~~~~~~~
    Ubuntu
    Gnome
    ~~~~~~~~~~~~~~~

  6. #6
    Registrierter Benutzer
    Registriert seit
    27.08.2002
    Beiträge
    337
    Das mit den Boxen ist auch ganz leicht für Neulinge zu bedienen.
    Steck einfach alles von
    Code:
    <html><head>
    <title>Div-Test</title>
    <style>
    A:link      {color : black; text-decoration: none; font-size : 9pt;}
    bis
    <body bgcolor="#808080"> 
    <div id="a1" class="a">Hier steht der Kopf</div>
    <div id="a2" class="a">Hier steht das Menü
                  <a href ="graph.php">Graph</a> <br>
                  <a href = "circle.php">Imagick</a> <br>
                  <a href ="image.php">Image Test</a> <br>
                  <a href ="index.php">Zeitung Test</a> <br>
    
    </div>
    in einen header.php bzw eine style.css

    Anschließend sieht die Seite graph.php etc. echt einfach aus.
    Das ist auch für einen Kunden zu verändern.
    Code:
    <?php     require ("header.php"); ?>
    
    <div id="a3" class="a">Hier steht das der eigentliche Text</div>
    </body>
    </html>
    Aber ich weiß du hast das Problem schon gelöst.

  7. #7
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Original geschrieben von Gorn
    wieso nicht mit java...? das ist ein javascript mit dem die frames geändert werden....
    Wie du ja selbst sagt: JavaScript.

    http://tsantes.dns2go.com/JavaJavaScript.html

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  8. #8
    Registrierter Benutzer
    Registriert seit
    31.01.2001
    Ort
    Solingen
    Beiträge
    47
    ok ok... ich gebe zu es ist nicht java :-)

    GoRn
    ~~~~~~~~~~~~~~~
    Ubuntu
    Gnome
    ~~~~~~~~~~~~~~~

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •