Probleme bei Frames-Anpassung mit location.relaod()

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Probleme bei Frames-Anpassung mit location.relaod()

    Hallo Leute,

    ich habe mir aus dem Web ein Menu downgeladen und wollte dieses in meine Website einbauen.
    Bin fast am Ziel, muss aber festestellen, dass wenn ich einen Menüpunkt ausgewählt habe,
    sich die anderen nicht mehr auswählen lassen. Das Menü ist nicht mehr anklickbar.
    In der Datei, inder das Menü eingebaut wird, have ich einen Hinweis dazu gefunden, werde aber
    daraus nicht schlau:

    /*OPTIONAL LINE:
    Because some browsers (especially our old friend NS4)
    have problems with this initial frame load you might
    want to add a line similar to this (replace MyFrameName
    with the name of you frame):

    top.frmMain.location.reload()

    This will ensure that the menu is loaded when
    the first page is loaded in the main frame.

    This also helps the resize problems in Opera and NS4
    */
    top.frmMain.location.reload()

    Würde gern noch eine Zeile diesbezüglich erweitern, aber ich weiss nicht wie.
    Übrigens der Name meines Frames, in der alle Seiten angezeigt werden, heißt:
    frmMain
    Habe den Namen einfach so übernommen, wie im Download vorhanden.

    Jat jemand einen Tipp für mich? Danke im Voraus.

    mfg
    BenC
    Beste Grüße
    BenC

  • #2
    *putz_die_glaskugel*
    wahrscheinlich sollst du deinen menuframe reloaden. such mal im script nach

    top.frmMain.location.href="link_zur_seite_die_geladen_werden_soll.html";
    dahinter fügst du mal ein "top.Name_des_Menu_Frames.location.reload();" ein


    oder
    du fütterst uns mit etwas code.
    Kissolino.com

    Kommentar


    • #3
      Hallo,

      sorry, Du hast recht. Ich hätte mehr Angaben Euch überlassen sollen. Hier kommen Sie.

      Das Script für das Menu lautet:

      <script>
      /*Browsercheck object - we have to move this into the page to prevent an error in NS4*/
      function cm_bwcheck(){
      //In theory we should use object detection, but this script needs work-arounds for almost every browser...
      this.ver=navigator.appVersion
      this.agent=navigator.userAgent.toLowerCase()
      this.dom=document.getElementById?1:0
      this.ns4=(!this.dom && document.layers)?1:0;
      this.op=window.opera
      this.moz=(this.agent.indexOf("gecko")>-1 || window.sidebar)
      this.ie=this.agent.indexOf("msie")>-1 && !this.op
      if(this.op){
      this.op5=(this.agent.indexOf("opera 5")>-1 || this.agent.indexOf("opera/5")>-1)
      this.op6=(this.agent.indexOf("opera 6")>-1 || this.agent.indexOf("opera/6")>-1)
      this.op7=this.dom&&!this.op5&&!this.op6 //So all higher opera versions will use it
      }else if(this.moz) this.ns6 = 1
      else if(this.ie){
      this.ie4 = !this.dom && document.all
      this.ie5 = (this.agent.indexOf("msie 5")>-1)
      this.ie55 = (this.ie5 && this.agent.indexOf("msie 5.5")>-1)
      this.ie6 = this.dom && !this.ie4 && !this.ie5 && ! this.ie55
      }
      this.mac=(this.agent.indexOf("mac")>-1)
      this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.op5 || this.op6 || this.op7)
      this.usedom= this.ns6||this.op7//Use dom creation
      this.reuse = this.ie||this.op7||this.usedom //Reuse layers
      this.px=this.dom&&!this.op5?"px":""
      return this
      }
      var bw=new cm_bwcheck()
      /***
      This is the menu creation code - place it right after you body tag
      Feel free to add this to a stand-alone js file and link it to your page.
      **/

      //Menu object creation
      oCMenu=new makeCM("oCMenu") //Making the menu object. Argument: menuname

      //Netscape 4 - bug fix -
      //maybe -stupid NS4 - objects are not handled correctly when
      //the object creator is in a linked file
      if(bw.ns4) if(!oCMenu["makeMenu"] || !bw["ns4"]) self.location.reload()

      //Frame properties
      oCMenu.frames = 1

      //Menu properties
      oCMenu.pxBetween=0
      oCMenu.fromLeft=20
      oCMenu.fromTop=5
      oCMenu.rows=1
      oCMenu.menuPlacement="left"

      oCMenu.offlineRoot="file:///d|/thomas2/CM_UPDATE/coolmenus/frames_version/"
      oCMenu.onlineRoot="/coolmenus/frames_version/"
      oCMenu.resizeCheck=1
      oCMenu.wait=1000
      oCMenu.fillImg="cm_fill.gif"
      oCMenu.zIndex=0

      //Background bar properties
      oCMenu.useBar=1
      oCMenu.barWidth="30%"
      oCMenu.barHeight="menu"
      oCMenu.barClass="clBar"
      oCMenu.barX=0
      oCMenu.barY=0
      oCMenu.barBorderX=0
      oCMenu.barBorderY=0
      oCMenu.barBorderClass=""

      //Level properties - ALL properties have to be spesified in level 0
      oCMenu.level[0]=new cm_makeLevel() //Add this for each new level
      oCMenu.level[0].width=70
      oCMenu.level[0].height=20
      oCMenu.level[0].regClass="clLevel0"
      oCMenu.level[0].overClass="clLevel0over"
      oCMenu.level[0].borderX=1
      oCMenu.level[0].borderY=1
      oCMenu.level[0].borderClass="clLevel0border"
      oCMenu.level[0].offsetX=0
      oCMenu.level[0].offsetY=0
      oCMenu.level[0].rows=0
      oCMenu.level[0].arrow=0
      oCMenu.level[0].arrowWidth=0
      oCMenu.level[0].arrowHeight=0
      oCMenu.level[0].align="bottom"


      //EXAMPLE SUB LEVEL[1] PROPERTIES - You have to specify the properties you want different from LEVEL[0] - If you want all items to look the same just remove this
      oCMenu.level[1]=new cm_makeLevel() //Add this for each new level (adding one to the number)
      oCMenu.level[1].width=140
      oCMenu.level[1].height=20
      oCMenu.level[1].regClass="clLevel1"
      oCMenu.level[1].overClass="clLevel1over"
      oCMenu.level[1].borderX=1
      oCMenu.level[1].borderY=1
      oCMenu.level[1].align="right"
      oCMenu.level[1].offsetX=-(oCMenu.level[0].width-2)/2+20
      oCMenu.level[1].offsetY=0
      oCMenu.level[1].borderClass="clLevel1border"
      //oCMenu.level[0].width-2

      //EXAMPLE SUB LEVEL[2] PROPERTIES - You have to spesify the properties you want different from LEVEL[1] OR LEVEL[0] - If you want all items to look the same just remove this
      oCMenu.level[2]=new cm_makeLevel() //Add this for each new level (adding one to the number)
      oCMenu.level[2].width=140
      oCMenu.level[2].height=20
      oCMenu.level[2].offsetX=0
      oCMenu.level[2].offsetY=0
      oCMenu.level[2].regClass="clLevel2"
      oCMenu.level[2].overClass="clLevel2over"
      oCMenu.level[2].borderClass="clLevel2border"


      /******************************************
      Menu item creation:
      myCoolMenu.makeMenu(name, parent_name, text, link, target, width, height, regImage, overImage, regClass, overClass , align, rows, nolink, onclick, onmouseover, onmouseout)
      *************************************/


      oCMenu.makeMenu('top1','','&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Start')
      oCMenu.makeMenu('sub10','top1','Home','start.htm','frmMain')


      oCMenu.makeMenu('top2','','&nbsp;&nbsp;Favoriten')
      oCMenu.makeMenu('sub21','top2','Anwendungssoftware','test2.html')
      oCMenu.makeMenu('sub210','sub21','Microsoft Office','profil.htm','frmMain')
      oCMenu.makeMenu('sub211','sub21','StarOffice','test1.html')

      oCMenu.makeMenu('sub22','top2','Systemsoftware','test3.html')
      oCMenu.makeMenu('sub220','sub22','Windows 9.x','test2.html')
      oCMenu.makeMenu('sub221','sub22','Windows 2000','test2.html'))

      oCMenu.makeMenu('sub23','top2','Datenbanken','test3.html')
      oCMenu.makeMenu('sub230','sub23','MySQL','test2.html')
      oCMenu.makeMenu('sub231','sub23','SQL-Einführung','test2.html')


      oCMenu.makeMenu('sub24','top2','Grafik','test3.html')
      oCMenu.makeMenu('sub240','sub24','Flash','test2.html')
      oCMenu.makeMenu('sub241','sub24','XNVIEW','test2.html')
      oCMenu.makeMenu('sub242','sub24','PhotoShop','test2.html')



      oCMenu.makeMenu('top3','','&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Extras','test3.html')
      oCMenu.makeMenu('sub30','top3','Chat','test2.html')
      oCMenu.makeMenu('sub31','top3','E-Mail','test1.html')
      oCMenu.makeMenu('sub32','top3','Gästebuch','test2.html')

      //Leave this line - it constructs the menu

      oCMenu.construct()


      /*OPTIONAL LINE:
      Because some browsers (especially our old friend NS4)
      have problems with this initial frame load you might
      want to add a line similar to this (replace MyFrameName
      with the name of you frame):

      top.frmMain.location.relaod()

      This will ensure that the menu is loaded when
      the first page is loaded in the main frame.

      This also helps the resize problems in Opera and NS4
      */
      top.frmMain.location.reload()
      </script>


      Außerdem habe ich die Datei collmenus_frame.js

      function cm_findFrame(frameName){
      obj=top; var frameObj=0;
      for(i=0;i<obj.frames.length;i++){
      if(obj.frames[i].name==frameName){frameObj=obj.frames[i]; break;}; ln=obj.frames[i].frames.length
      for(j=0;j<ln;j++){
      if(obj.frames[i].frames[j].name==frameName){frameObj=obj.frames[i].frames[j]; break}; ln2=obj.frames[i].frames[j].frames.length
      for(a=0;a<ln2;a++){
      if(obj.frames[i].frames[j].frames[a].name==frameName){frameObj=obj.frames[i].frames[j].frames[a]; break}
      }
      }
      }return frameObj
      }
      /*********************************************************************
      Reload function
      *********************************************************************/
      function cm_reload(sep){
      self.location.href=self.location.href+sep+"reload_coolmenus"
      }
      /*********************************************************************
      Getting the menuobjects
      *********************************************************************/
      function cm_getItems(menu,orgframe){
      var add,ok = 0, frame
      if(top.name==self.name){
      //We are not in a frameset, so there's no need to do anything at all.
      //This could maybe be used to load the menu directly into the page if
      //the frame didn't exist. That could be nice
      // return
      }
      frame = cm_findFrame(orgframe)
      if(!frame){ //The spesified menu frame doesn't exist
      self.status="CoolMenu error: Missing menu frame. Frame name: "+orgframe
      //return
      }
      if(frame[menu]){//Checking menu object
      if(frame[menu].constructed){//Checking if it's constructed
      frame[menu].makeObjects(0,self)
      self[menu] = frame[menu] //Making a local copy of the menu object
      ok = 1
      }
      }
      if(!ok){
      //This means that we could not find the menus - what to do ??
      //We try to reload this page in a little while to check again.
      search = self.location.search
      //First we check that we haven't already tried:
      if(search.substr(1).indexOf("reload_coolmenus")==-1){
      //We haven't tried, so let's try that.
      if(search.slice(0,1)=="?") sep="&"
      else sep="?"
      //This will override the usuall onload
      //shouldn't use onload, but NS4 didn't like it any other way.
      //I will have another look later on.
      self.onload=new Function('setTimeout("cm_reload(\''+sep+'\')",1000)')
      }
      }
      self.status=ok
      }

      /*Getting items -- arguments:

      menu: The name of the menu object to use
      frame: The name of the frame

      */
      cm_getItems("oCMenu","frmMenu")


      Wie gesagt, ich finde nicht die entsprechnede Stelle, die ich ändern muss, um zu erreichen, dass nach Auswahl des ersten Menueintrags sich die anderen Menueinträge jederzeit auswählen lassen.

      Danke für Eure Tipps im Voraus.

      mfg
      BenC
      Beste Grüße
      BenC

      Kommentar


      • #4
        hast du das irgendwo online stehen? das muss ich mal in aktion sehen ...
        oder poste mal den download-link, wo das teil her ist.
        Kissolino.com

        Kommentar


        • #5
          [JavaScript]

          Hallo,

          das Menu habe ich von http://www.dhtmlcentral.com bezogen. Leider funkt momentan der Server nicht, so dass sich die Site nicht anschauen kann.

          Das Meunu habe ich deshald als Anlage beigefügt.

          Danke für deine Bemühungen.

          mfg
          BenC
          Angehängte Dateien
          Beste Grüße
          BenC

          Kommentar


          • #6
            so ein sch**ss ... bei mir läuft keines der scripte aus dem zip-file ohne fehler.
            sorry, aber dabei kann ich dir nicht weiterhelfen.

            alternativ kannst du mal bei http://www.24fun.com vorbeischauen,
            dhtml-menüs haben die auch jede menge.
            Kissolino.com

            Kommentar

            Lädt...
            X