2010-11-18 115 views
4

爲什麼不能在Safari中工作?window.location.href在Safari中不工作

<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中,則爲onsubmit =「openPop(this.action); return false;」那麼Safari將會毫無問題地工作。

編輯:爲了改善答案,onsubmit本身需要返回false,所以openPop返回false是不夠的。你可以讓它做onsubmit =「return openPop(this.action);」雖然。

+0

+1這就是它。 – karim79 2010-11-18 02:16:37

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

當然,你可以讓它運行「onload」而不是「onclick」。 – Blake 2010-11-18 02:11:53

+0

我的方法名稱是誤導性的,我沒有試圖打開一個新窗口,只是去一個新的網址 – 99miles 2010-11-18 02:12:17

-2

我能夠使用此代碼在Safari中使用它。

if (app.Name == "Safari") { 
window.location ="your-url-here" 
} 
相關問題