如何使用Javascript打开没有HTTPS协议的链接(外部网站)?

时间:2017-03-14 02:37:59

标签: javascript

此代码(使用HTTPS协议)成功打开<script> function openInNewTab() { var url = 'https://www.google.com'; var win = window.open(url, '_blank'); win.focus(); } </script> <div onclick="openInNewTab();">OPEN LINK ON A NEW WINDOW</div>

JSFiddle

https://www.example.com/www.google.com

但是当我使用此代码(没有HTTP协议)时,它会打开<script> function openInNewTab() { var url = 'www.google.com'; var win = window.open(url, '_blank'); win.focus(); } </script> <div onclick="openInNewTab();">OPEN LINK ON A NEW WINDOW</div>

JSFiddle

{{1}}

有没有办法使用Javascript打开没有HTTPS协议的外部网站?

3 个答案:

答案 0 :(得分:1)

为什么不使用目标设置为_blank的外部锚标记?

E.g

<a href="http://www.google.com" target="_blank">OPEN LINK A NEW WINDOWS</a>

虽然在此示例中,Google会重定向到https,因为安全性

答案 1 :(得分:0)

开头没有协议的网址字符串(或“{3}}”的“协议相对速记”//将被视为锚定网址,如果它以哈希值#fragment或其他相对网址开头。相对URL只是将www.google.com放在路径的当前级别之上。如果您的位置为http://www.example.com,则会变为http://www.example.com/www.google.com。或者,如果它是http://foo.net/bar/baz/quux.html,则变为http://foo.net/bar/baz/www.google.com

答案 2 :(得分:-1)

int someFunc()
{
     someIostream terminal;
     string = terminal.readline();
}

请记住,当您打开http://google.com时,他们会重定向到他们的https协议。你无能为力。