location.href到没有http://的链接

时间:2012-08-31 11:16:20

标签: javascript button onclick location-href

我有一个网页 - http://www.example.com/ - 我有一个按钮。点击按钮,我需要转到特定链接(www.google.com)。按钮如下:

<input type="button"
       onclick="javascript:location.href='www.google.com'"
       value="Click" />

但是此按钮会打开“http://www.example.com/www.google.com”页面,这是错误的网址。

我尝试了window.locationdocument.locationdocument.location.hreflocation.href但都徒劳无功。

我的onclick中的网址不能以“http://”开头。

3 个答案:

答案 0 :(得分:8)

您可以在网址前加上//

,使用“当前”协议

答案 1 :(得分:2)

由于您未包含协议(例如http),因此您的浏览器会将www.google.com解释为http://www.example.com/www.google.com的链接,因为您当前正在使用http://www.example.com。将您想要的任何协议添加到href-string中,但如果您指的是除站点本身以外的其他地方,则必须具有该协议。

答案 2 :(得分:2)

在网址前加上 http:// ,可以解决您的问题。

if (!url.match(/^http?:\/\//i) || !url.match(/^https?:\/\//i)) {
        url = 'http://' + url;
    }

检查thisthis以获取更多信息。