上星期在驗瀏覽器相容性的時候,在safari 4.0到了二個問題。
1.是apply設定之後,瀏覽器沒有正常導回設定前的頁面
在這個問題是因為,導頁的方式是由javascript送出原頁面所link到的html頁面中的form, 再由 cgi 進行導頁的動作。
function top_delay_redirect(next_url){
document.redirectForm.action = next_url;
document.redirectForm.target = "_parent";;
document.redirectForm.submit();
}
<form method="post" name="redirectForm" action="" target="">
<input type="hidden" name="flag" value="">
<input type="hidden" name="prev_page" value="">
</form>
但在safari 中使用_parent會導致導頁失敗,因此我使用parent.location.href的方式來進行導頁。
將javascript改成先透過cgi取得現在LAN 端的IP位址,再使用parent.location.href進行導頁。
function top_delay_redirect(next_url){
parent.location.href='http://'+lan_ip+'/'+next_url;
}
2.是系統進行Firmware Upgrade的時候,按下上傳的時候,javascript是有被呼叫的,但CGI卻沒有運作,要再確認一下問題。