window.location.href在Safari中不工作

问题描述:

为什么不能在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> 

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

也许这将工作:

<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

我能够使用此代码在Safari中使用它。

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