2010-11-18 24 views
4

Safariでこれが動作しないのはなぜですか?Safariでwindow.location.hrefが機能しない

<script language="javascript" type="text/javascript"> 
function changeUrl(url) { 
    window.location.href='http://google.com'; 
    return false; 
} 
</script> 

<form action="#" onsubmit="changeUrl(this)" /> 
    <input type="Submit" value="Go" /> 
</form> 

答えて

6

Safariは、リターン偽の関数呼び出しで発生した嫌うように見えます。 onsubmit = "openPop(this.action); falseを返します。" Safariは問題なく動作します。

編集:答えを改善するには、onsubmit自体がfalseを返す必要があるため、falseを返すopenPopでは不十分です。あなたはそれをonsubmit = "return openPop(this.action);"というようにすることができます。しかし、。

+0

+1これはそれでなければなりません。 – karim79

0

多分これは動作します:

<script> 
function popitup(url) { 
    newwindow=window.open(url,'name','height=200,width=150'); 
    if (window.focus) {newwindow.focus()} 
    return false; 
} 

// --> 
</script> 

は、このHTMLを使用します。

<a href="popupex.html" onclick="return popitup('popupex.html')">Link to popup</a> 
+0

もちろん、「onclick」の代わりに「onload」を実行することもできます。 – Blake

+0

私のメソッド名は誤解を招いていました。私は新しいウィンドウを開こうとしていません。ちょうど新しいURLに行きます。 – 99miles

-2

このコードを使用してSafariで動作させることができました。

if (app.Name == "Safari") { 
window.location ="your-url-here" 
} 
関連する問題