perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 29
Click for quality!




10.02.2012 / 20:59

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Suchanfragen für Scripts/Programmierung zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragJavaScript Ausgabe in iframe
Seitenanfang
Guten Abend zusammen.

Ich habe ein Problem mit einem Javascript.
Ich habe ein Script erstellt welches in einem
Frameset arbeitet. In einem Frame wird eine Eingabe getätigt und in einem zweiten Frame erfolgt die Ausgabe. Alles soweit so gut.
Nun möchte ich die Ausgabe nur mittels einer Seite mit einem IFrame realisieren. Dies klappt jedoch nicht.

Ich habe zwei Effekte :
A) Ich kann die Ausgabe in dem gleichen Fenster
ausgeben. Jedoch nicht in den IFRAME.
B) Es kommt etwas im IFRAME an, verschwindet
aber nach 1sec sofort wieder.

Welchen Denkfehler habe ich ?
Hat jemand einen Idee.

Gruß
Michael

Datum: 16.11.2005-17:49

Beitragre: JavaScript Ausgabe in iframe
Seitenanfang
Hi,

welchen Denkfehler Du machst, kann ich Dir leider nicht sagen, da ich nicht weiß wie Du die Geschichte realisiert hast.

Die Technik ist jedenfalls die Selbe. Egal, ob es sich um einen <frame> oder <iframe> handelt.

Es drängt sich mir aber der Gedanke auf, dass die Datei, die in den iframe geladen wird, ein Refresh hat, das auf eine Sekunde eingestellt ist.

-uw

Datum: 17.11.2005-03:46

Beitragre: JavaScript Ausgabe in iframe
Seitenanfang
Hallo TbHoCne,

ich versuche mal das Script kurz vorzustellen :

...
// Dies steht im Script offlinesearch.js
...
if (top.frames.length <= 0 )
{// Noframe
var DOCUMENT = document;
}
else
{// Frame
var DOCUMENT = parent.frames['xframe'].document;
}
...
function print_header(font_str,text_color,bg_color,link_color,alink_color,vlink_color,hlink_color,blockquote)
{
DOCUMENT.open();
DOCUMENT.target="xframe";

DOCUMENT.writeln("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0 Transitional//EN'>");
DOCUMENT.writeln("<head>");
DOCUMENT.writeln("<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>");
DOCUMENT.writeln("<title>search</title>");
DOCUMENT.writeln("<link rel='stylesheet' type='text/css' href='format.css'></link>");
DOCUMENT.writeln("</head>");
DOCUMENT.writeln("<body text="+text_color+" bgcolor="+bg_color+" link="+link_color+" alink="+alink_color+" vlink="+vlink_color+" hlink="+hlink_color+">");
DOCUMENT.writeln(font_str);
DOCUMENT.writeln("<a name='top'></a><br>");
if ( blockquote == "1" )
DOCUMENT.writeln("<blockquote><blockquote>");
}

function print_end(blockquote)
{
if ( blockquote == "1" )
DOCUMENT.writeln("</blockquote></blockquote>");
DOCUMENT.writeln("<a name='bottom'></a>");
DOCUMENT.writeln("</font>");
DOCUMENT.writeln("</body>");
DOCUMENT.writeln("</html>");
DOCUMENT.close();
}

function offline_search(db1,db2,db3,str,soundex,exact,ignore,font_str,text,bgcolor,link,alink,vlink,hlink)
{var count=0;
var key=" ";
var soundex_str=" ";

print_header(font_str,text,bgcolor,link,alink,vlink,hlink,"1");
DOCUMENT.writeln(start_text+"<b>"+str+"</b>");
... hier kommt dann eine Ausgabe ...
print_end("1");
}

// Nun kommt die Datei mit dem iframe
...
<iframe name='xframe' width='98%' height='300'></iframe>
<span>
<script language='JavaScript' type='text/javascript' src='./offlinesearch.js'></script>

<form name='search_form' action='' >
<input type='Checkbox' name='db1' value='b' checked='checked'>B...
<input type='Checkbox' name='db2' value='z' checked='checked'>Z...
<input type='Checkbox' name='db3' value='c'>A...
<input type='Checkbox' name='soundex' value='s'>S...
<input type='text' name='search_string' size=20 stlye='width:180px; height:9px' width=200>
<input type='submit' value='Suche' accesskey='s' align='left'
onClick="offline_search(this.form.db1.checked,this.form.db2.checked,this.form.db3.checked,this.form.search_string.value,'0','0','0','','#000000','#FFFFDD','#8B765F','#800010','#B7B380','#FF0000')"> </form>
</span>
...

Datum: 17.11.2005-08:55

Beitragre: JavaScript Ausgabe in iframe
Seitenanfang
Hi,

eine Sache ist mir aufgefallen, bin mir aber nicht sicher, ob das einen Browser wirklich aus der Ruhe bringt.

parent.frames['xframe'].document

anstatt
parent.frames[1].document

http://de.selfhtml.org/javascript/objekte/frames.htm#allgemeines

Und, da das Skript in dem Dokument aufgerufen wird, in dem auch der iFrame definiert ist, klappt das mit dem parent nicht, da es ja gar kein Elternfenster gibt. Ich denke das man hier top nehmen sollte.

Außerdem glaube ich, dass Du nach der Zuweisung für DOCUMENT kein Target mehr angeben brauchst.

Was sagt denn der Skriptdebugger?

-uw

Datum: 17.11.2005-11:59

Beitragre: JavaScript Ausgabe in iframe
Seitenanfang
Hallo TbHoCne,

leider ändert sich die Anzeige weder bei top
statt parent noch bei der Verwendung der Nummer statt des Namen.

Es wird kein Fehler angezeigt.
Die Ausgabe erfolgt sogar direkt in den iframe
für ca. 1 Sekunde. Dann wird die Ausgabe gelöscht un ein leerer iframe angezeigt.

Bei der Verwendung eines Frameset mit mehr als einem Frame erfolgt die richtige Anzeige im richtigen Fenster ohne gelöscht zu werden.

Gruss
Michael

Datum: 17.11.2005-15:22

Beitragre: JavaScript Ausgabe in iframe
Seitenanfang
Hi,

nun habe ich das Gefühl, dass man über Deine Methode nicht an das Kind-document im iframe herankommt. Ich geh' der Sache mal auf den Grund, das juckt mich jetzt nämlich auch.

Ich melde mich wieder.

-uw

Datum: 18.11.2005-10:09

Beitragre: JavaScript Ausgabe in iframe
Seitenanfang
Ups, ging doch schneller als ich dachte.

(1)
Headerdaten weglassen. Allein das Definieren des iframe erzeugt schon ein komplettes Grundgerüst einer HTML Datei, samt title und body Tags. Solltest Dir mal den Quelltext des iframe anschauen.

(2)
Beim Ansprechen des iframe top oder parent weglassen da es ja ein Kindelement des aktuellen documents ist. Man könnte Anstelle dessen auch this verwenden.


var if_d = frames[0].document;
if_d.writeln('<h1>First text in iframe</h1>');

So müsste es eigentlich funktionieren, das hat es jedenfalls bei mir. Ich mach aus meinem Test ein kleines Tutorial, das man ab ca. 15:00 Uhr unter dem folgenden Link wird abrufen können.

http://warp-factor.homelinux.net/tutorials/js_iframe_write.html

So long.

-uw

Datum: 18.11.2005-11:01

Beitragre: JavaScript Ausgabe in iframe
Seitenanfang
Hallo TbHoCne,

toll dein Beispiel geht auch bei mir.
Auch eingebunden in mein anderes Script geht dein Beispiel.

Leider geht meines jedoch immer noch nicht obwohl der Aufbau eigentlich gleich ist.

Ich kann es mir nicht erklären.
Kann ich dir mein Script mal als ZIP mailen ?

Gruss
Michael

Datum: 19.11.2005-12:01

Beitragre: JavaScript Ausgabe in iframe
Seitenanfang
Hi,

klar, kannst Du gerne machen.

uw-walter@mainzkom.de

-uw

Datum: 19.11.2005-12:22

Beitragre: JavaScript Ausgabe in iframe
Seitenanfang
Beantwortet per eMail.

Datum: 19.11.2005-13:36

-






-
-