简体   繁体   中英

location.href to a link without http://

I have a webpage - http://www.example.com/ - where I have a button. On click of the button I need to go to a particular link (www.google.com). The button is like :

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

But this button opens a page "http://www.example.com/www.google.com" which is wrong URL.

I have tried window.location , document.location , document.location.href , location.href but all in vain.

The URL in my onclick can not be restricted to begin with 'http://'.

您可以使用“当前”协议为URL添加前缀//

Since you did not include a protocol (such as for example http), your browser will interpret www.google.com as a link to http://www.example.com/www.google.com , since you are currently on http://www.example.com . Add whatever protocol you want to the href-string, but if you are referring to somewhere else than on the site itself, you must have the protocol.

prefixing http:// before url may solve your issue.

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

check this and this for more information.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM