Wolfgang Dick: Geniales Forum!

Beitrag lesen

*grummelgrumme* - zu früh gefreut. Das mit dem Sound abschalten funktioniert tadellos, allerdings läuft offenbar ein anderes Script nicht mehr, welches zwei WAV-Dateien hätte preloaden sollen. Knirsch....
Habe ich vielleicht doch etwas falsch gemacht? Es wäre supernett wenn Du 'mal einen Blick darauf werfen könntest. Eigentlich war alles ganz fein, bis ich den letzten Teil angefügt habe (// Sound abschalten). Kann ja nun hoffentlich wohl nichts gravierendes sein wenn's ja vorher ging. Schliesslich lade ich damit nur eine leere Datei in den unsichtbaren Frame um den dortigen Hintergrundsound abzuschalten.

Hier das Script aus dem Header und die erste Body-Zeile

<SCRIPT language="JavaScript">
         <!--
   // preload images:
   if (document.images) {
   Lautspr1 = new Image(30,30); Lautspr1.src = "Graphics/LautsprOn.gif";
   Back1 = new Image(102,50); Back1.src = "Buttons/BackOn.gif";
   Home1 = new Image(102,50); Home1.src = "Buttons/HomeOn.gif";
    English1 = new Image(38,22); English1.src = "Buttons/EnglishOn.gif";
   }

// Preload and play audio files with event handler
  // designed by JavaScript Archive, (c)1999   http://jsarchive.8m.com
  var aySound = new Array();

// Below: source for sound files to be preloaded
  aySound[0] = "Fun/Muh1.wav";
  aySound[1] = "Fun/Muh2.wav";

// DO NOT edit below this line
  document.write('<BGSOUND ID="auIEContainer">')
  IE = (navigator.appVersion.indexOf("MSIE")!=-1 && document.all)? 1:0;
  NS = (navigator.appName=="Netscape" && navigator.plugins["LiveAudio"])? 1:0;
  ver4 = IENS? 1:0;
  onload=auPreload;

function auPreload() {
  if (!ver4) return;
  if (NS) auEmb = new Layer(0,window);
  else {
  Str = "<DIV ID='auEmb' STYLE='position:absolute;'></DIV>";
  document.body.insertAdjacentHTML("BeforeEnd",Str);
  }
  var Str = '';
  for (i=0;i<aySound.length;i++)
  Str += "<EMBED SRC='"+aySound[i]+"' AUTOSTART='FALSE' HIDDEN='TRUE'>"
  if (IE) auEmb.innerHTML = Str;
  else {
  auEmb.document.open();
  auEmb.document.write(Str);
  auEmb.document.close();
  }
  auCon = IE? document.all.auIEContainer:auEmb;
  auCon.control = auCtrl;
  }
  function auCtrl(whSound,play) {
  if (IE) this.src = play? aySound[whSound]:'';
  else eval("this.document.embeds[whSound]." + (play? "play()":"stop()"))
  }
  function playSound(whSound) { if (window.auCon) auCon.control(whSound,true); }
  function stopSound(whSound) { if (window.auCon) auCon.control(whSound,false); }

// Sound abschalten
   function Silence()
   {
    parent.Sound.location.href = "Silent.html";
   }

//-->

</script>

</head>

<body onload="Silence()" background="Graphics/background.gif" bgcolor="#5A6B94">

Vielen Dank schon im voraus - Wolfgang

Hallo Wolfgang,

Ich melde mich nochmal, da ich ja schon mit der Thematik "vertraut" bin ;-)
[...]

  1. Eigentliche Hauptseite in ersten Frame laden "Silent.html"
  2. Eine Seite "Sound.html" mit Hintergrundmusik in einen zweiten unsichtbaren Frame laden

<FRAME SRC="main.html" NAME="MainPage">
   <FRAME SRC="Sound.html" NAME="Sound" ......... ist unsichtbar

Die eigentliche Hauptseite wird später bei Rücksprüngen dann ohne den Umweg über die geframte Startseite angesprochen. Ulkigerweise (ich bin ja permanent am stauen) kann dann auch von dort (längst nicht mehr existente) Frame mit der Hintergrundmusik angesprochen werden. Glückicherweise muss ich sagen.
[...]

Wenn Du innerhalb eines Frames ohne Target verlinkst, bleibst Du auch in demselben. Deshalb musst Du bei einem unsichtbaren Frame eigentlich nix ändern, außer der index.htm und evtl. die Links auf die Startseite

Nun gibt es eine Seite, wo ich keinen Sound gebrauchen kann. Dort möchte ich gerne, dass der Befehl zum die Musik abstellen automatisch ausgeführt wird. Aber auch hier handelt es sich wie bei der Hauptseite um keine Framepage. Ich könnte ja den Befehl <A HREF="Silent.html" TARGET="Sound"... wieder abstellen, es wäre aber toll, wenn der Befehl irgendwie beim Aufruf dieser Seite automatisch ausgeführt wird. Vielleicht weisst Du gerade wie das gemacht wird? Ich gestehe aber, dass ich noch nicht im Forum gesucht habe, da es mir eh' etwas suspekt erscheint was ich mach (aus ungeframten Pages nichtexistente Frames anzusprechen).....
[...]

Das Frameset sollte eigentlich noch vorhanden sein, es sei den Du hast auf Deinen Seiten einen Link mit target="_top" oder target="_parent", der Dein Frameset sprengt :-).
Um nun auf bestimmten Seiten automatisch eine Datei in den blinden Frame zu laden ("silent.htm"), benötigst Du Javascript und den Befehl 'parent.Sound.location'. Alles weiter findest Du unter <../../tecba.htm#a1>.

Ich hoffe das hilft Dir weiter :-)

Gruß AlexBausW

»»