webForumDet fria alternativet

skicka med en variabel med window.open()

3 svar · 371 visningar · startad av daniel_ra

daniel_raMedlem sedan jan. 2002381 inlägg
#1

Jag har en funktion som öppnar ett nytt fönster utefter de kriterier jag skickar med till funktionen. det jag även skulle vilja göra är att skicka med en variabel till den öppnade sidan. Hur gör jag det?
i window.open() kan jag väl bara skicka med egenskaper för fönstret i sig?

missModestyMedlem sedan apr. 2005254 inlägg
#2

Finns säkert många lösningar. Så här har jag gjort i ett liknande fall då jag ville visa olika bilder o texter som ligger i varsin array:

function ShowPicture(i)
{
	content = '<html>';
	content += '<head>';
	content += '<title>picture</title>';
	content += '<LINK rel="stylesheet" type="text/css" href="style.css">';
	content += '<meta http-equiv="imagetoolbar" content="false">';
	content += '</head>';
	content += '<body class="popup">';
	content += '<table align="center"> <tr> <td colspan="2"><img src=' + pict[i] + '></td></tr>';
	content += '<tr><td><img src="pict/images/popupLogo.gif"></td>';
	content += '<td class="cvRubr"  align="right">&nbsp;<br>' + info[i] + '</td></tr></table>';
	content += '</body> </html>';

	top.frames[1].document.open();
	top.frames[1].document.clear();
	top.frames[1].document.write(content);
	top.frames[1].document.close();
	
}

Nu var du ganska kortfattad i din fråga, men den här lösningen går kanske att anpassa till din lösning om jag inte missuppfattat dig.

dectgapMedlem sedan sep. 20021 655 inlägg
#3

I Firefox kan man skriva så här:

<script type="text/javascript">
var w = window.open('', 'foo');
w.window.jsVar = "sträng";
w.document.open();
w.document.write('<script type="text/javascript">alert(jsVar);</sc'+'ript>');
w.document.close();
</script>

Dock fungerar det inte i IE, utan man får då hämta variabeln från moder-fönstret istället:

<script type="text/javascript">
jsVar = "sträng";
var w = window.open('', 'foo');
w.document.open();
w.document.write('<script type="text/javascript">alert(window.opener.jsVar);</sc'+'ript>');
w.document.close();
</script>
daniel_raMedlem sedan jan. 2002381 inlägg
#4

löste det genom att skicka med värdena i querystring:

window.open(url+'?värde=1',name,egenskaper)

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