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>
答案 0 :(得分:3)
网址必须才有方案。如果使用相对URL,则从当前页面计算方案。 (如果您使用仅包含路径部分的相对URL,那么您还将获取当前页面的主机名,如果路径本身是相对的,则您将获取当前页面路径,直到最后一个/
......这是你的例子中发生的事情。)
近年来,浏览器已将未在地址栏中显示该方案,但URL仍必须有一个方案(即使您无法看到它)。< / p>