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()たが、それでも時折フリーズします。上記のコードを使用して問題を確認できます。

助けてくれてありがとう!

4

2 に答える 2

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

これを onchange イベント ハンドラに入れると、フリーズの問題が解決するはずです

于 2013-03-07T19:14:12.600 に答える
0

電話をかけようとしたときに、非常によく似た問題が発生しました。

window.open(url, '_self')

ChromeとSafariで。代わりに、ウィンドウを開く場所を次のように定義します。

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

ただし、「_ self」または現在のウィンドウとして開きたい場合は、次のように呼び出します。

windown.location.href = url;
于 2012-12-14T21:59:31.183 に答える