Namen des Inhalts aus einem HTML iFrame auslesen

truecase

Grünschnabel
allo zusammen,

bin jetzt eigentlich im falschem Forum für meine scriptfrage, aber ich dachte da sowieso schon ein thema eröffnet wurde wo die scriptfragen rein können, kann ich hier auch gleich mal meine rein stellen^^

Also ich habe folgendes problem:

ich mache fürn kumpel ne page, wo ich mit einem javascript eine tabelle, die sich in drei reihen horizental für fotos ausbreitet und dann so halt bis zum letzten bild diagonal. Hat alles gut geklappt mit meiner eigenen creation :suspekt:

Code:
<script language="JavaScript" type="text/javascript">
<!--
var pfad = "Pics/11er Fete (klein)/";                  //Der Pfad, in den sich die Bilder befinden (ohne C:/ - Festplattenpfad) auch Online Pfad möglich!
var name = "11er Fete [15-Dez-2006] ";                 //Allgeimener Name (dahinter wird die Zahl geknalt) (WICHTIG: die zahlenvergabe geht von 0 aus ab, Leerzeichen zwischen namen und Zahl beachte z.B. "11er Fete [15-Dez-2006] (245).jpg"
var bildpfad = "Pics/11er Fete/";                      //Pfad für das größere Bild (hier gilt das selbe!!)
var bildname = "11er Fete [15-Dez-2006] ";             //Allgemeiner Name der großen Bilder (auch hier gilt das selbe wie bei den kleinen Bildern!)
var wahlfarbe = "'#cccccc'";                           //Farbe für Tabellenhintergrund wenn man mit Mauszeiger draufzeigt
var normalfarbe = "'#FFFFFF'";                         //Normalfarbe für den Tabellenhintergrund
var bild = -1;
var breit = 1;
var maxbild = 123;                                     //Die Anzahl der maximalen Bilder
var maxbreit = 5;
document.write("<table>")
document.write("<tr>")
while (bild <= maxbild)
{
  if (breit >= maxbreit)
  {
    breit = 1;
   document.write("</tr>")
   document.write("<tr>")
  }
  else
  {
   if (bild <= maxbild)
   {
     ++breit
      ++bild;
      document.write('<td width="135" height="136" bgcolor='+normalfarbe+' onmouseover="this.style.backgroundColor='+wahlfarbe+'" onmouseout="this.style.backgroundColor='+normalfarbe+'"><div align="center"><a href="'+bildpfad+bildname+'('+bild+').jpg" target="slide"><img src="'+pfad+name+'('+bild+').jpg" width="135" height="101" /></td>')
++breit;
document.write('<td width="1"></td>')
     }
    if (bild <= maxbild)
    {
      ++breit;
       ++bild;
       document.write('<td width="135" height="136" bgcolor='+normalfarbe+' onmouseover="this.style.backgroundColor='+wahlfarbe+'" onmouseout="this.style.backgroundColor='+normalfarbe+'"><div align="center"><a href="'+bildpfad+bildname+'('+bild+').jpg" target="slide"><img src="'+pfad+name+'('+bild+').jpg" width="135" height="101" /></td>')
++breit;
document.write('<td width="1"></td>')
    }
    if (bild <= maxbild)
    {
      ++breit;
       ++bild;
       document.write('<td width="135" height="136" bgcolor='+normalfarbe+' onmouseover="this.style.backgroundColor='+wahlfarbe+'" onmouseout="this.style.backgroundColor='+normalfarbe+'"><div align="center"><a href="'+bildpfad+bildname+'('+bild+').jpg" target="slide"><img src="'+pfad+name+'('+bild+').jpg" width="135" height="101" /></td>')
    }

  }
}
//-->
</script>

vielleicht kann es jemand von euch einfacher oder so, aber ich bin anfänger was java allgemein angeht und daher ist das für mich schon ein riesiger erfolg icon_biggrin.gif
Naja egal, auf jeden fall wird diese tabelle sich in einem iFrame (html-unterseite) ausrichten und wenn man auf ein pic klickt wird in einem anderen parallelen iframe das etwas größe foto angezeigt. soweit so gut, funktioniert auch alles so wie ich es will aber jetzt kommt mein problem! Ich möchte eine slide show erstellen, ob ich das kann steht noch im hintergrund auf jeden fall brauche ich den namen des größeren bildes das im iFrame geladen wurde um damit dann zu arbeiten, oder die variable die an das bild in der tabelle vergeben wurde, wäre es vielleicht möglich variablen für andere javascripts frei zustellen/sie mit anderen scripts zu laden oder den dateinamen des objektes, das sich im iFrame befindet in eine variable zu speichern? ich bitte euch um hilfe, habe schon so ziemlich alles veruscht bei google ein zu tippen, aber ich habe nichts zu so einem fall gefunden, bin ein bischen am verzweifeln...
 
Du kannst in JS über mehrere Fenster(iFrames werden auch als solche angesehen) mit Variablen arbeiten...sie Erstellen, ändern usw.

So wie ich deinen Seitenaufbau verstanden habe, sollte es von überall gehen per:
Code:
top.nameDesIframes.variable
 
Du kannst in JS über mehrere Fenster(iFrames werden auch als solche angesehen) mit Variablen arbeiten...sie Erstellen, ändern usw.

So wie ich deinen Seitenaufbau verstanden habe, sollte es von überall gehen per:
Code:
top.nameDesIframes.variable

Hey das klappt, genau das was ich haben wollte, danke man :)

... muss jetzt nur noch gucken wie ich das nach meinen Wünschen weiter umsetzen kann, habe das Gefühl, das meine Idee nicht funktionieren wird... naja ich meld mich mal wieder wenn was nicht passt :suspekt:


--->Peace Truecase
 
Ja ok, das mit dem Variablen auslesen von andrem Frame ist mir jetzt klar geworden, funktioniert einbahnfrei,keine beschwerden... brauche jetzt aber etwas anderes für meine idee... und zwar möchte ich gerne mit einem mausklick den wert aus einer variable in eine andere schreiben. habe dazu was mit "function" gefunden:
Code:
<a href="javascript:variable();>
würde auch funktionieren, aber ich möchte gern ohne diese function arbeiten, geht es irgendwie noch anders die variable a in die variable b zu schreiben vielleicht direkt im "href"? habe mir das so vorgestellt (funktioniert aber nicht... muhhaha, wie den auch :suspekt: ):
Code:
<a href="javascript:var a = b;">
 
ohh richtig... danke... aber das meinte ich nicht :suspekt: ich habe kein plan ob es funktioniert aber bei mir verändert sich der wert nicht... darf man den überhaupt zwei "href" befehle im html haben, oder wird der zweite nicht beachtet?

habe das so hier aufgebaut:
Code:
<a href="'+bildpfad+bildname+'('+bild+').jpg" href="var framebild=bild;" target="slide">

also der erste läd das bild nach den variablen und das zweite soll den wert aus der variable "bild" in "framebild" reinsetzen. Momentan ist framebild auf 0 gesetzt und nach dem man das objekt angeklickt hat bleibt "framebild" immer noch 0, obwohl er eigendlich einen wert über 6 haben sollte... :eek:
 
Man darf weder mehrmals ein href-Attribut notieren, noch erwarten, dass der Browser einfach so JS-Code interpretiert, welcher im href-Attribut notiert ist.


So könnte dein Vorhaben eher das Gewünschte Ergebnis bringen:
Code:
<a href="#" onclick="framebild=bild;this.href=bildpfad+bildname+'('+bild+').jpg';" target="slide">
 
yes, jetzt gehts, musste es aber ein wenig umändern damit es auch klappt.

Code:
<a href="'+bildpfad+bildname+'('+bild+').jpg;" onclick="framebild=bild;" target="slide">
Danke, genau das wollte ich haben ^^
 

Neue Beiträge

Zurück