Avatar billede perh Juniormester
07. november 2000 - 20:49 Der er 6 kommentarer og
1 løsning

top variable eller hvordan kvæles \"undefined\"

jeg prøver at overføre info med en url: url?&mailteam=1

Så lægger jeg den op i top: top.mail=  top.mail = location.search.substring(1);

Desværre ligger den side, jeg overfører til på et andet domæne (kan ikke ændres) og MSIE melder \"adgang nægtet\", når jeg åbner url i en RAMME på 1. domæne, men det går fint, hvis jeg åbner url i _top.
(Netscape accepterer i øvrigt, at man lægger i top fra et andet domæne)

Mit problem er nu, at jeg vil skelne imellem Om der er overført en ?info eller ikke er det.
Jeg bruger den overførte info i et opslag til et cgi-script.
Men, hvis der ikke er en top.mail får jeg indsat \"undefined\" i strengen, og så går det galt.

Så, kan jeg kvæle det \"undefined\", eller kan jeg overføre info uden at lægge den op i top, så MSIE kan se den fra et andet domæne (det der kaldes).

Ja, det er nok lidt dårligt forklaret, jeg er kørt træt i det.
Avatar billede jakoba Nybegynder
07. november 2000 - 21:47 #1
Den er lidt svær at forstå.

Hvis linket er til en fil på et andet domæne der skal fylde en ramme hvorfor vil du så absolut sende en searchparameter med? Den kan jo bare ligge i top hele tiden og bruges derfra. (sammen med info om om der er noget at sende)

for råt og ukritisk at kvæle \"undefined\" kan du blot sige

if ( dinVariabel==\"undefined\" ) dinVariabel=\"\"; // javascript

men dit indlæg lyder som om at det ku du sagtens selv hitte ud af så den har jeg nok heller ikke rigtig forstået.

mvh  JakobA
Avatar billede ldanielsen Nybegynder
07. november 2000 - 22:59 #2
Du kan ikke overføre mellem to domæner via javascript, men du kan sende en form eller en querystring!! Jeg har lavet et system med en extra lille frame \'transport\', som jeg sætter som target i formen eller linket, og jeg peger åpå en fil på det modsatte domæne.

\'transport\' kan så via javascript sende oplysninger til den egentlige side, i en anden frame.
Avatar billede perh Juniormester
08. november 2000 - 00:00 #3
JacobA:
I MSIE kan jeg ikke lægge en variabel i top og hente det ned i en frame, der indeholder en fil fra et andet domæne. Jeg kan godt i Netscape.
Din ide med if... lyder rigtig, men jeg har ikke kunnet få det til at virke, selv om jeg retter syntaksen og bruger indhold mellem \"\" (\"\" alene giver også -undefined, mener jeg)
Avatar billede perh Juniormester
08. november 2000 - 00:08 #4
IdaN:
Jeg sender en querystring. til en Framefil med to frames. I framedokumentet (index.html) bruger jeg
<script language=\"JavaScript\">
<!--
top.mail = location.search.substring(1);
//-->
</script>

så har jeg variablen i top på domæne2, hvor den skal bruges.

Defra anvender jeg den i en af rammerne til at fortælle, hvem der har formidlet et salg.

Index.html bliver desværre også kaldt uden query-string og så bliver den undefined.

Din frame løsning lyder interessant. Kan du beskrive den mere, jeg er ikke helt med?

Avatar billede ldanielsen Nybegynder
08. november 2000 - 09:21 #5
Efter hukommelsen:
Framesettet (http://www.dom2.dk/default.htm):
<frameset rows=\"100,100,1\">
<frame name=\"dom1\" src=\"http://www.dom1.dk/sender.htm\">
<frame name=\"modtager\" src=\"http://www.dom2.dk/modtager.htm\">
<frame name=\"transport\" src=\"http://www.dom2.dk/blank.htm\">
</frameset>

Afsenderen (http://www.dom1.dk/sender.htm):
<html><body>
<form name=\"myForm\">
<input name=\"felt\" value=\"davs\">
<input type=button value=\"Send\" onClick=\"parent.transport.location = \'http://www.dom2.dk/trans.htm?felt=\'+escape(document.myForm.felt.value)\">
</form>
</body>
</html>

http://www.dom2.dk/trans.htm:

<html>
<head>
<script language=JavaScript>
function transportMe(){
  loc = \"\"+window.location
  str = loc.substring(loc.indexOf(\"=\")+1,loc.length)
  parent.modtager.document.myForm2.felt2.value = unescape(str)
  }
</script>
</head>
<body onLoad=\"transportMe()\">
</body>
</html>

Modtageren (http://www.dom2.dk/modtager.htm):
<html><body>
<form name=\"myForm2\">
<input name=\"felt2\">
</form>
</body></html>

blank.htm:
<html><body>
</body></html>
Avatar billede perh Juniormester
08. november 2000 - 11:08 #6
Meget elegant og sikken en hukommelse!
Avatar billede ldanielsen Nybegynder
08. november 2000 - 12:37 #7
Takker! :o)

Hilsen Lars D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester