我有一個頁面,其中包含一個iframe。在iframe中,默認頁面運行一些JavaScript來打開子窗口,登錄到外部服務,然後在iframe中顯示來自該外部服務的一些內容。Javascript彈出登錄跨瀏覽器問題
我的代碼在Chrome和IE中運行良好,但在Safari和Firefox中卻沒有。在這些瀏覽器中,父窗口似乎忽略了用戶現在登錄到外部服務並顯示其「未登錄」消息而不是應顯示的信息的事實。
下面是我正在嘗試做的事情的代碼。
HTML(主頁):
<iframe id="brief" name="brief" src="contents/somepage.php?var=WXYZ" width="962" height="600">
<p>Your browser does not support iframes.</p>
</iframe>
somepage.php
<html>
<head>
<script type="text/javascript">
window.onload = function()
{
var code = 'WXYZ';
var login = http://www.externalsite.com/brief/html.asp?/cgi-bin/service?msg=0048&usr=username&pwd=pass';
//OPEN CHILD WINDOW AND LOGIN USING VARIABLES ABOVE, THEN CLOSE WINDOW
childWindow=window.open(login,'','width=30,height=30,location=no');
var cmd = 'childWindow.close()';
setTimeout(cmd,2000);
//REDIRECT THIS IFRAME TO BRIEFING INFORMATION
var uri = 'http://www.externalsite.com/brief/html.asp?/cgi-bin/service?msg=0092&AID=NOSEND&MET=1&NTM=1&LOC='+code;
self.location.href=uri;
}
</script>
</head>
<body>
</body>
</html>
我已經嘗試了各種調節功能的setTimeout試圖延遲執行腳本的某些方面等待別的事情發生但它似乎沒有幫助。
這個代碼是否存在一些跨瀏覽器問題?
由於
YAY!感謝雅各布!外部網站實際上是我控制有限的東西。它現在似乎工作完美無缺。 – Barbs