Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [Javascript] Referer übertragen mit window.open() (https://www.delphipraxis.net/34297-%5Bjavascript%5D-referer-uebertragen-mit-window-open.html)

crazynet24 20. Nov 2004 17:50


[Javascript] Referer übertragen mit window.open()
 
Ich muss leider neu Nachfragen ob jemand eine Info zum Umgang mit open.window hat, da ein gewisser Nutzer "SubData" meinen Threat nur mit Informationsmüll ausgefüllt hat und meine Frage dadurch leider unbeantwortet unterging...

Ich möchte eine Hilfe-Fenster im Browser neu öffnen. Um über die Herkunftsseite das passende Hilfethema anzuzeigen sollte der Referer übertragen werden, den ich dann mit php auswerte um die Hilfeseite dem Kontext entsprechend zu generieren.
Leider wird bei der JS-Methode:

Code:
<a href=\"#\" onClick=\"window.open('modules.php?name=help','fenster','menubar=no,locationbar=no,resizable=YES, scrollbars=YES,status=no')\" >
der Referer ($_SERVER[HTTP_REFERER]) nicht geliefert.


Bei der JS-freien Methode:

Code:
<a href=\"window.open('modules.php?name=help\" target=\"_BLANK\">
wird der Referer jedoch übertragen.

Den Referer benötige ich, um den zur aufrufenden Seite passende Hilfeeintrag anzuzeigen (kontext-bezogene Hilfe).

Hat jemand eine Erklärung dafür oder wie ich mit JS den Referer übergebe?

viele Gruesse

jfheins 20. Nov 2004 18:00

Re: [Javascript] Referer übertragen mit window.open()
 
Machs doch einfach mit einer Variable, die angehängt wird ...
z.B. so:
Code:
<a href=\"window.open(
'modules.php?name=help&seite=$PHP_SELF',
'fenster',
'menubar=no,
locationbar=no,
resizable=YES,
scrollbars=YES,
status=no')\" >
Oder wenn du eine Seite à la .../index.php?seite=xyz hast, so:
Code:
<a href=\"window.open(
'modules.php?name=help&seite=$seite',
'fenster',
'menubar=no,
locationbar=no,
resizable=YES,
scrollbars=YES,
status=no')\" >
oder so:
Code:
<a href=\"window.open(
'modules.php?name=help&seite=".$PHP_SELF."?".$QUERY_STRING."',
'fenster',
'menubar=no,
locationbar=no,
resizable=YES,
scrollbars=YES,
status=no')\" >

SubData 20. Nov 2004 18:13

Re: [Javascript] Referer übertragen mit window.open()
 
Code:
<a href=\"window.open('modules.php?name=help\" target=\"_BLANK\">
Ist immernoch nich JS frei ... Ausserdem was spricht dagegen direkt da drin die Parameter für Screen Size etc. anzugeben?

crazynet24 20. Nov 2004 18:17

Re: [Javascript] Referer übertragen mit window.open()
 
Danke Dir jfheins, ich denke das ist eine gute Lösung,
Gruss

PS: Subdata, eine Bitte an Dich: halte dich bitte zukünftig aus von mir initiierten Postings raus, Deine Antworten sind mir mehr hinderlich als hilfreich, danke im voraus!

himitsu 21. Nov 2004 09:04

Re: [Javascript] Referer übertragen mit window.open()
 
Leider wird bei nahezu allen Arten, wo 'ner Seite über Javascript aufgerufen wird, kein Referer mitgesendet, es gibt nur einen (Um)weg, welcher nicht gerade besonders schön ist und der auch nicht bei allen Browser funktioniert und bei 'nem neuen Fernster geht der erstrecht nicht ... also, das mit dem Parameter, ist wohl der einzige und wirklich funktionierende Weg.

crazynet24 21. Nov 2004 17:30

Re: [Javascript] Referer übertragen mit window.open()
 
ok, danke für die Informationen, ich werde den Referer wohl über Adresszeile übergeben.

Um die Funktionalität auch bei ausgeschaltetem Javaskript zu erhalten will ich auch die reine html-Methode zur Verfügung stellen. Darüber werd ich mir jetzt dann mal Gedanken machen..

viele Gruesse

Mystic 21. Nov 2004 17:38

Re: [Javascript] Referer übertragen mit window.open()
 
Zitat:

Zitat von crazynet24
Um die Funktionalität auch bei ausgeschaltetem Javaskript zu erhalten will ich auch die reine html-Methode zur Verfügung stellen. Darüber werd ich mir jetzt dann mal Gedanken machen..

XML-Code:
[url="modules.php?name=help&seite=$PHP_SELF"]Hilfe[/url]
Das sollte funktionieren, wenn ich mich nicht vertan habe. Bei aktiviertem JS das window.open und bei deaktiviertem JS das target="_blank".

crazynet24 22. Nov 2004 09:35

Re: [Javascript] Referer übertragen mit window.open()
 
danke, so öffnen sich allerdings leider 2 Fenster, einmal durch JS und einmal durch den html-Aufruf.

Die Übergabe durch "seite=$PHP_SELF" ist leider auch nicht ausreichend, da $PHP_SELF nur das aufrufende Skript (in diesem Fall modules.php) liefert, aber nicht mehr die Variablen, die dort dahinter waren (z.B. modules.php?name=Impressum&op=ShowImpressum).

gruss

jim_raynor 22. Nov 2004 09:52

Re: [Javascript] Referer übertragen mit window.open()
 
Zitat:

Zitat von crazynet24
Die Übergabe durch "seite=$PHP_SELF" ist leider auch nicht ausreichend, da $PHP_SELF nur das aufrufende Skript (in diesem Fall modules.php) liefert, aber nicht mehr die Variablen, die dort dahinter waren (z.B. modules.php?name=Impressum&op=ShowImpressum).

Dafür gibt es entweder $_SERVER['QUERY_STRING'] oder du nimmst statt $PHP_SELF $_SERVER['REQUEST_URI'] in dem die komplette URL mit den Paramatern steht.

SubData 22. Nov 2004 09:54

Re: [Javascript] Referer übertragen mit window.open()
 
Zitat:

Zitat von crazynet24
PS: Subdata, eine Bitte an Dich: halte dich bitte zukünftig aus von mir initiierten Postings raus, Deine Antworten sind mir mehr hinderlich als hilfreich, danke im voraus!

Samma aber sonst gehts gut?

1) Hast du in deinem ersten Posting geschrieben, dass du eine JS freie Lösung haben willst, und ich dich nur darauf aufmerksam gemacht hab, dass window.open IMMER ein JavaScript ist egal ob es per href oder onClick ausgelöst wird.

2) Hab ich dich in meinem Posting darauf aufmerksam gemacht, dass du, wenn du den Befehl per href sendest ebenso Parameter verwenden kannst, die in onClick verwendet werden.

Also kack mich nich an dafür, dass ich dir helfen wollte!

-grml-

Edit: Tut mir leid, liebe Mods, aber das Kommentar konnt ich mir einfach nich verkneifen :/


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:55 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz