You are not logged in.

  • Login

1

Monday, March 12th 2007, 2:09pm

kennt sich hier wer mit java script aus?

Kenne mich leider kaum mit dem ganzen Krams aus, daher kopier ich mir irgendwie was zusammen.

Folgendes Problem:
Wenn man auf einer Webseite auf einen Button klickt geht ein Popup-Fenster mit folgendem Inhalt auf:

<html>
<head>
<title>My File Browser</title>
<script type="text/javascript">

function SelectFile( fileUrl )
{
// window.opener.SetUrl( url, width, height, alt);
window.opener.SetUrl( fileUrl ) ;
window.close() ;
}
</script>
</head>
<body>
<a href="javascript:SelectFile('File1.jpg');">File 1</a><br />
<a href="javascript:SelectFile('File2.jpg');">File 2</a>
</body>
</html>

Die Idee is dann in dem Fenster eine Datei auszuwählen, die URL an das aufrufende Fenster zu übergeben und dann das Popup wieder zu schließen. Leider funktioniert das ganze komischerweise nur wenn das Hauptfenster und das Popup auf dem gleichen Server liegen, genau das sollen sie nun aber gerade nicht :(
Gibts irgend ne Möglichkeit das auf einfache Art und Weise hinzukriegen?

Posts: 3,600

Location: Bonn

Occupation: GER

  • Send private message

2

Monday, March 12th 2007, 2:47pm

ich bin kein java script experte :D

aber ich glaube es ist nicht möglich dem pop up zu sagen in welcher seite er sich genau öffnen soll, ausser er befindet sich gerade auf dieser seite..

ich kann mich aber auch täuschen, müsste man nachforschen obs bei java script irgendwelche variablen oder sessions gibt :P

3

Monday, March 12th 2007, 3:06pm

naja, die Fenster werden ja über window bzw. window.opener angesprochen. Ich seh da keinen Zusammenhang dazu auf welchem Server sich die Seiten denn nun befinden.

4

Sunday, March 25th 2007, 6:10pm

Ich weiß ja nicht, ob das noch aktuell ist (wenn nicht, sorry für's bumpen eines inaktiven Threads^^), aber das Phänomen hat seinen Grund in den Sicherheitsfunktionen der Browser, um sog. "Cross Site Scripting" (manchmal auch als "CSS" oder "XSS" bezeichnet) zu verhindern (Wikipedia hat genaueres dazu). Die Browser verhindern, dass Code von einer Domain auf Daten (insbes. Cookies) einer anderen zugreifen kann. Ich glaube, es gibt zumindest im Firefox eine Möglichkeit, einer anderen Domain das zu erlauben (irgendwas wie "document.domain" oder sowas).