webForumDet fria alternativet

Värde till popup

3 svar · 225 visningar · startad av Lembit

LembitMedlem sedan jan. 200417 inlägg
#1

Halloj'

Hur hämtar jag ett värde från parentwindow till en popup?

En enkel fråga men det har nog brunnit i hytten hos mig här.

Tackar

nitro2k01Medlem sedan aug. 20039 342 inlägg
#2

I enklaste möjliga form (Utan att kolla om moderfönstret är stängt)

 
parent.html

foo = 25;
window.open("popup.html","_blank")

______

popup.html

alert(window.opener.window.eval("foo") );
LembitMedlem sedan jan. 200417 inlägg
#3

Får då "premission is denied"

Något mer tips.....=)

nitro2k01Medlem sedan aug. 20039 342 inlägg
#4

Ok, det beror på att popupen och moder-fönstret hör till olika domäner (t ex https://www.foo.com och https://www.bar.com) alt. att den ena sidan ligger på din dator och den andra på nätet.
Annars kan du ju använda dig av qeurystrings. Denna lösning gör ju dock att popupen laddas om för varje värde som skickas...

Edit: Tryckfelsnisse och andra redigeringar.

 
Modern:
<script type="text/javascript">
// Edit: detta forum lägger till ett mellanslag till about:blank. Ta bort!

function sendValue(valuetosend){
  document.forms["sendform"].elements["sendvalue"].value=valuetosend;
  document.forms["sendform"].submit();
}

</script>

<form name="sendform" target="winname" action="popup.html" method="get">
<input type="hidden" name="sendvalue">
</form>

<a href="javascript:void(sendValue('Hello world'))">Skicka något</a>

Popupen:
<script type="text/javascript" src="parsequery.js"></script>
<!-- Adress till denna fil nedan -->
<script type="text/javascript">
var p=parseQuery();
// Notis: document.write får INTE köras EFTER att sidan laddas.
document.write(p["sendvalue"]);
</script>

http://www2.hemsida.net/dtd/page2/parsequery.js
(Högerklick, spara som)

125 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)