PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Url aus des Inhaltes eines frames mit script im anderen Frame auslesen !?


Phil
18.03.2004, 17:25:11
Hallo,

der Titel sagt schon alles :)
ich möcht von einer Site, die im Fram eläuft die url herausbekommen und das mittels eines scriptes welches in einem anderen Frame läuft :)
geht das irgendwie?
vielleicht mit js mit phph fällt mit nichts ein irgendwie...
es müssen auch nicht zwingen frames sein wichtig ist nur, dass ich die url einer bestimmten seite herausbekomme um sie als link verwenden zu können.

quasi eine favoriten funktion ich möchte einen link haben wie 'diese Seite zum favorit machen' dann soll die url der anderen seite in eine db geschreiben werden :9
ich hoffe das ist einigermassen verständlich *G*
Gruß
Phil

René_M
19.03.2004, 00:55:27
mit JavaScript:
<script language="JavaScript" type="text/javascript">
<!--
alert(parent.framename.location);
//-->
</script>

Gweilo
21.03.2004, 17:49:06
aufgepasst. Die JS Methode funktioniert nur, wenn die seite auch auf dem gleichen Server liegt.

Phil
21.03.2004, 19:42:15
Danke für den Hinweis und sorry dass ich erst jetzt antworte!
mit dieser Methode komme ich auch leide rnicht zum Ziel gleuabe ich . ich bin leider etwas unerfahren mit js :(
hier sei mein problem nocheinmal genauer beshreiben:

ich habe ein frameste mit oberem un unterem frame ich möchte im oberen frame eine schalftfläche link o.ä. haben, der/die mir beim anklicken im oberen frame die url des unteren frames ausgibt bzw in eine php variable schreibt.
wenn also im unteren frame www.google.com angezeigt wird möchte ich im oberem frame nach anklicken der schaltfläche im oberen frame www.google.com in einer php variablen haben:)

ich hoffe das war etwas genauer und ich würde mich freuen, wenn jmd ne idee hat wie man das relaisieren kann!!

viele grüße
phil

René_M
21.03.2004, 19:56:41
Hi Phil,

du kannst mit JavaScript nichts an PHP übergeben, da JavaScript im Browser verarbeitet wird und PHP auf dem Server bei deinem Provider. Also mußt du das dort hin bringen.

Dazu muss ein Formular gesendet werden und in diesem Formular muss ein <input ... > sein das die URL enthält.

Phil
21.03.2004, 20:45:22
Hi Rene ja, das ist schon klar wichtig ist nur, dass ich die url erstmal in dem fenster habe und dann halt an nne script schicke !!
nur wie geht das ?? :)
Gruß
Phil

René_M
21.03.2004, 21:02:08
steht doch schon fast richt weiter oben.

<script language="JavaScript" type="text/javascript">
<!--
document.formular_name.element_name.value = parent.frame_name.location;
//-->
</script>

Phil
21.03.2004, 21:33:57
irgendwie ist bei mir heute der wurm drin ich danke die schonmal für deine geduld :) also ich hab folgendes framest:
(...)
<frameset rows="80,*" frameborder="NO" border="0" framespacing="0">
<frame src="oben.htm" name="oben" scrolling="NO" noresize >
<frame src="http://www.google.com" name="unten">
</frameset>
(...)
in oben.htm steht folgendes:
(...)
<script language="JavaScript" type="text/javascript">
<!--
document.form.text.value = parent.unten.location;
//-->
</script>

</head>

<body>
<form name="form" method="post" action="">
<input name="text" type="text">
</form>
</body>
(...)
aber es wird eine Fehlermeldung ausgegeben :) es wäre nett wenn du nochmal helfen könntest ich pack das heute aben dnicht :(

danke nochmal
Phil

Marilu
21.03.2004, 21:59:03
Bei 2 Frames, die im Frameset auf einer Ebene liegen, geht das m. E. nicht:

document.form.text.value = parent.unten.location;

Versuch mal sowas wie:

var untenUrl = top.frames[1].location.href;
alert("Unten-Url = " + untenUrl);

(1, weil es der 2. Frame von oben (top) gezählt ist).

Phil
21.03.2004, 22:15:26
wenn ich den von dir geposteten code nehme bekomme ich nen fehler mit dem Text erlaubnis verweigert ?!
oh man ich bin echt zu blöd glaube ich

Marilu
22.03.2004, 09:15:18
Lauft bei mir einwandfrei.
In php mußt Du natürlich die " maskieren:

echo "
<script language="javascript">
var untenUrl = top.frames[1].location.href;
alert("Unten-Url = " + untenUrl);
</script>";

Wenns nicht geht, poste mal den kompletten Code der beiden Frames mit dem Frameset...

René_M
22.03.2004, 10:41:10
Original geschrieben von Phil

<script language="JavaScript" type="text/javascript">
<!--
document.form.text.value = parent.unten.location;
//-->
</script>
aber es wird eine Fehlermeldung ausgegeben :)
Das Wort "text" ist in JavaScript reserviert, darf also nicht in der Form wie du es machst verwendet werden. Das würde keine Fehlermeldung ausgeben:

document.form.elements['text'].value = ...
----

Zum Fehler "Erlaubnis verweigert...", lies dir den Beitrag von Gweilo durch!

Phil
22.03.2004, 13:33:53
Soo, vielen danke nochmal euch drei - das problem ist wohl wirklich die sicherheit... da es js anscheinend unterbindet die location einer serverfremden sitre anzuzeigen :(
-> da muss ich mir wohl einen anderen weg einfallen lassen :(
--
vielleicht ja doch mit php wenn man die fremde seite als file öffnet und links so verändert das die fremde site quasi im script befindet, dann sollte man die klicks des users und die location der aktuell angezeigten site ja eigentlich paerat haben - na mal versuchen.
Wenn jemand noch eine andere Idee hat nur her damit

Gruß
Phil

Gweilo
22.03.2004, 15:43:22
mach's doch so:
link.php?id=1
das wäre dann der link auf den inneren Frame.

in link.php speicherst du dann den Wert in einem Cookie und leitest dementsprechend um.

if ($_GET['id']==1)
url = "http://www.google.com";

// hier kommt das cookie speichern hin

header ($url);
exit;

So in etwa. oder direkt die URL übergeben.

Phil
26.03.2004, 17:40:26
hmmm das Problem ist ja aber, dass ich nicht weiss, welche site im unteren frame angezeigt wird :) Das will ich ja gerade wissen welche site der benutzer im unteren frame geöffnet hat.

Da hab ich mir ja echt was vorgeniommen hihi

aber trotzdem nochmal danke...
wenn ich eine Lösung finde werde ich sei mal posten!

Gruß
Phil

Gweilo
26.03.2004, 18:23:42
Das problem ist, dass es gar nicht geht, ausser halt der erste link nach draussen. Spätestens ab da ist es nicht mehr nachvollziehbar, wo der user hingeht.

Phil
28.03.2004, 15:22:44
naja, wie gesagt ich werdfe mal ein bisschen probieren wenn mir was gelingt poste ich es:)

Danke nochmal
Phil