Javascript 使用window.Open打开非http url
我知道它应该以这种方式工作,但我希望它作为一个没有前缀的url打开。有办法吗Javascript 使用window.Open打开非http url,javascript,Javascript,我知道它应该以这种方式工作,但我希望它作为一个没有前缀的url打开。有办法吗 window.open("http://www.w3schools.com") // open properly window.open("www.w3schools.com","_blank") // it adds my localhost as prefix. 单击该按钮可打开一个新的浏览器窗口 试试看 函数myFunction(){ window.open(“www.w3schools.com”)
window.open("http://www.w3schools.com") // open properly
window.open("www.w3schools.com","_blank") // it adds my localhost as prefix.
单击该按钮可打开一个新的浏览器窗口
试试看
函数myFunction(){
window.open(“www.w3schools.com”);
}
直接
问题陈述-用户将在应用程序中输入类似“abcd.com”的url,我必须将其与链接相关联。大多数用户的url都没有输入完整的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>
试试看
函数myFunction(url){
var check=url.substring(0,4);
如果(检查==“http”){
窗口打开(url);
}否则{
window.open('/'+url);
}
}
URL必须有一个方案。如果使用相对URL,则将从当前页面计算方案。(如果您使用的是只包含路径部分的相对URL,那么您还将获取当前页面的主机名,如果路径本身是相对的,那么您将获取当前页面的路径,直到最后一个/
,这就是您的示例中发生的情况)
近年来,浏览器已经习惯于不在地址栏中显示方案,但URL仍然必须有一个方案(即使你看不到它)。方案相关URL在这里也可以工作,例如
//www.w3schools.com
。是的,但URL仍然有一个方案。是的,但在这种情况下,你不必指定它,所以这可能会更适合提问者。谢谢你的意见。我真正的问题是,用户将输入类似“abcd.com”的url,我将不得不将其与链接相关联。@rinuthomaz-然后您需要编写代码将其转换为url。对于静态代码,这个问题没有什么意义-您要么要打开外部url,要么要打开相对url。如果这是关于处理用户输入的,即用户在www.w3schools.com
中的某个位置键入,并且您想打开该站点,那么您需要一些代码来接收用户输入,检查协议是否存在,如果不存在,则添加它。(但这仍然会给只能通过HTTP或HTTPS访问的站点带来问题,您如何选择合适的站点?)。。用户只需输入abcd.com即可。。我将不得不联系到一个链接。有一个问题。。。
<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>