2012-10-09 50 views
0
<select id="myDropDown" onblur='launchSite()'> 
    <option value="selectone" selected="true">Select One</option> 
    <option value="http://www.google.com">Google </option> 
    <option value="http://www.cnn.com">CNN </option> 
    <option value="http://www.espn.com">ESPN </option> 
</select> 


<script> 

function launchSite() { 
    var el = document.getElementById("myDropDown"); 
    var url = el.options[el.selectedIndex].value; 
    window.open(url); 
} 
</script> 

我們有一個web應用程序,當從下拉列表中選擇某個值時,將打開一個新的瀏覽器頁面。這在所有以前測試過的瀏覽器(包括ios 5上的Safari)中運行良好。在ios 6中選擇了下拉列表後,我們得到了預期的允許/拒絕彈出窗口。但是,在彈出的Safari上進行選擇後,會完全凍結。奇怪的是,這種凍結並不是每次都發生。只是偶爾。有沒有可能這是一個IOS 6的錯誤?我已經嘗試onblur()像其他問題已經建議,但我仍然凍結ocassional。我能夠使用上面的代碼看到問題。window.open凍結從iOS中的onchange函數調用Safari時

感謝您的幫助!

window.open(url, '_self') 
在Chrome和Safari

回答

0

我們試圖打電話的時候,遇到了一個非常類似的問題。取而代之的是,在這裏你要打開的窗口:

window.open(url, '_blank') 
or 
window.open(url, '_new') 

但是,如果你想打開爲「_self」,或者當前的窗口,那麼只要致電:

windown.location.href = url; 
2
function launchSite(){ 
    window.setTimeout(function(){ 
     var el = document.getElementById("myDropDown"); 
     var url = el.options[el.selectedIndex].value; 
     window.open(url); 
    },100); } 

將此置於onchange事件處理程序中應解決凍結問題

+0

在setTim ** t ** out中輸入錯誤。我試圖修復它,但我找不到5個其他角色來修復! ;) –