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?
skicka med en variabel med window.open()
3 svar · 371 visningar · startad av daniel_ra
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"> <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.
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>