使用window.open

时间:2015-11-17 11:30:31

标签: javascript

window.open("http://www.w3schools.com") // open properly   

window.open("www.w3schools.com","_blank") // it adds my localhost as prefix. 

我知道它应该以这种方式工作,但我希望它作为没有前缀的URL打开。有没有办法做到这一点?

<!DOCTYPE html>
    <html>
    <body>
        <p>Click the button to open a new browser window.</p>
        <button onclick="myFunction()">Try it</button>
    <script>
    function myFunction() {
        window.open("www.w3schools.com");
    }
    </script>
    < a href="google.com">direct</a>
    </body>
    </html>

问题陈述 - 用户将在应用程序中输入类似“abcd.com”的URL,我将不得不将其与链接相关联。大多数用户没有输入完整的URL。

根据下面的输入我添加了

<button onclick="myFunction('facebook.com/')">Try it</button>

<script>
    function myFunction(url) {
            var check = url.substring(0, 4);
            if (check == "http") {
                     window.open(url);
            } else {
                window.open('//' + url);
            }
        }
</script>

1 个答案:

答案 0 :(得分:3)

网址必须才有方案。如果使用相对URL,则从当前页面计算方案。 (如果您使用仅包含路径部分的相对URL,那么您还将获取当前页面的主机名,如果路径本身是相对的,则您将获取当前页面路径,直到最后一个/ ......这是你的例子中发生的事情。)

近年来,浏览器已将未在地址栏中显示该方案,但URL仍必须有一个方案(即使您无法看到它)。< / p>