"We are back" « oc.at

js: popup mit stylesheet

sick 04.09.2003 - 03:33 639 12
Posts

sick

I'm Rick James, bitch!
Avatar
Registered: Oct 2000
Location: Linz
Posts: 523
hiho,

nach einigem tüfteln und suchen geb ich auf.
mein problem:
ich öffne mit javascript ein popup fenster

Code:
function OpenWindow (URL, WinName, Features) { 
	popup = window.open(URL, WinName, Features).focus();
	popup.document.write('<link rel="stylesheet" href="style.css">');
	
aufgerufen mit dem üblichen ...

Code:
<a href="blabla.html" onclick="javascript:.....

das problem is, dass es ned funktioniert.
wie sprech ich das fenster richtig an?
obiges funktioniert genauso wenig wie document.write und window.document.write, oder popup.write...

bitte um einen kleinen denkanstoss,
i siag scho nix mehr :(
:confused:

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
window.popup.document.write() KÖNNTE gehen, das aber wahrscheinlich auch nicht mit jedem browser...

auf jeden fall hat die frage recht garnix mit stylesheets zu tun :p

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4515
@sick:

der Fehler liegt wahrscheinlich das du im onclick Handler javascript: reinschreibst.

"javascript:" ist ein pseudo-Protokoll fuer z.B. das href-Attribut vom a-Element. Aber das onclick-Attribut ist bereits ein Teil der DOM fuer Javascript, d.h. im onclick-Attribut steht gleich der Javascript-Code der ausgefuehrt werden soll, kein weiteres pseudo-Protokoll.

Veranschaulichung:
Code:
<a href="javascript:alert('you clicked me');">
im Vergleich zu
Code:
<a href="" onclick="alert('you clicked me');">

Wie du links richtig mit Javascript ausstattest kannst du unter http://tom.me.uk/scripting/popups.asp nachlesen.
Bearbeitet von Rektal am 04.09.2003, 08:44 (huh, wieso kommt bei dem wort javascript zwischen java und script ein space rein? ist nicht von mir!)

sick

I'm Rick James, bitch!
Avatar
Registered: Oct 2000
Location: Linz
Posts: 523
Zitat von watchout
window.popup.document.write() KÖNNTE gehen, das aber wahrscheinlich auch nicht mit jedem browser...

auf jeden fall hat die frage recht garnix mit stylesheets zu tun :p
funkt leider auch ned. da zeigt er im fenster gar nix an, und es schaut so aus, als ob er sich aufghängt hat (moz & ie).

hab eh ned behauptet, dass es was mit stylesheets zu tun hat, i will nur eines dem popup fenster übergeben ;)

@Rektal:
beides schon probiert.
vorher hab i's eh lang beim im href dabeigehabt, dann aber nach dem Lesen einiger Threads hier zum onclick handler verschoben.
leider erfolglos. :confused:

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
was noch falsch ist:
popup = window.open(URL, WinName, Features).focus();

in popup landet der rückgabewert von focus(); das ist nicht, was du vermutlich dort drin haben willst.
versuch es mit:
popup = window.open(URL, WinName, Features);
popup.focus();

wenn du es sauber haben willst, wirst du auch vor dem write ein popup.document.open(..) aufrufen, und hinterher ein popup.document.close();

leon

Back from Banland
Avatar
Registered: Mar 2003
Location: graz
Posts: 21
warum schreibst du nicht die zuweisung für den stylesheet in die blabla.html datei?

dann hast nicht das problem mit dem übergeben

sick

I'm Rick James, bitch!
Avatar
Registered: Oct 2000
Location: Linz
Posts: 523
Zitat von atrox
in popup landet der rückgabewert von focus(); das ist nicht, was du vermutlich dort drin haben willst.
versuch es mit:
popup = window.open(URL, WinName, Features);
popup.focus();

auch schon -erfolglos- probiert. :(

@leon:
es is ja eigentlich keine blabla.html sondern eine generierte php datei, die dann nur ein bild anzeigt.

das witzige daran is ja, dass es im quelltext vom fenster eh schon richtig drinsteht, nur werden die styles nicht angewendet...

Rektal

Here to stay
Registered: Dec 2002
Location: Inside
Posts: 4515
Und stylesheet ist auch der richtigen stelle realtiv zu der aufgerufenen URL?

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
ahso.. warte mal... wenn du ein dokument lädst, dann aber mit write() ausserhalb des parsers hineinschreibst, wird dann nicht das bisherige dokument verworfen ?
lass dir mal zusätzlich ein "hello world" ausgeben!?

sick

I'm Rick James, bitch!
Avatar
Registered: Oct 2000
Location: Linz
Posts: 523
dankeschön mal an alle.

i werds jetz umschreiben, dass es in da php klasse dazugebastelt wird,
is zwar ned de schönste lösung, wenn ma verschiedene stylesheets dann verwenden will, aber was solls...:rolleyes:

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von sick
dankeschön mal an alle.

i werds jetz umschreiben, dass es in da php klasse dazugebastelt wird,
is zwar ned de schönste lösung, wenn ma verschiedene stylesheets dann verwenden will, aber was solls...:rolleyes:
in so einem fall sollte auch der stylesheet per url oder SESSIONS übergeben werden :rolleyes: javascript ist der vollkommen falsche ansatz für sowas

sick

I'm Rick James, bitch!
Avatar
Registered: Oct 2000
Location: Linz
Posts: 523
Zitat von watchout
javascript ist der vollkommen falsche ansatz für sowas

najo, im prinzip gehts ja ums popup, ned ums stylesheet.
ausserdem:

learning by doing. ;)
ma kann jo ned alles können ... :D

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von sick
najo, im prinzip gehts ja ums popup, ned ums stylesheet.
ausserdem:

learning by doing. ;)
ma kann jo ned alles können ... :D
deswegen sag ichs dir ja ;)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz