我在这里遇到了一些困难。我正在尝试将<a>
标记设置为外部网址。但每次这样做时,包含URL的index.html的本地路径都会添加到链接中。我查看了我的jQuery代码,似乎没有看到问题所在。我甚至使用console.log(url)进行测试,并正确返回URL。
$('.smoothscroll').on("click", function() {
if (nav.hasClass('mobile')) nav.fadeOut('fast');
})
$('.smoothscroll').on('click', function (e) {
e.preventDefault();
var target = this.hash,
$target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top
}, 800, 'swing', function () {
window.location.hash = target;
});
});
$('#login').on('click', function (e){
e.preventDefault();
var url = $(this).attr('href');
window.open(url, '_blank');
});
&#13;
<ul id="nav" class="nav">
<li class="current"><a class="smoothscroll" href="#hero">Home.</a></li>
<!--<li><a class="smoothscroll" href="#portfolio">Works.</a></li>-->
<li><a class="smoothscroll" href="#about">About Us.</a></li>
<li><a class="smoothscroll" href="#portfolio">Features.</a></li>
<li><a class="smoothscroll" href="#contact">Create Account.</a></li>
<li><a class="login" id="login" href="google.com">Login.</a></li>
</ul>
&#13;
每次在新标签页中打开新网址时,我都会得到:file:/// C:/PASSIS%20-%20Landing%20Page/google.com
答案 0 :(得分:4)
对于外部URL,您需要拥有协议(http://
或https://
),以便HTML知道它是外部资源/站点而不是本地资源。
答案 1 :(得分:2)
您必须在https://
之前添加http://
(google.com
)协议,因为您没有指向本地文件,而是指向外部页面:
<a class="login" id="login" href="https://google.com">Login.</a>
答案 2 :(得分:2)
这也让我很困惑。解决方案很简单,只需将协议类型添加到链接中,例如:
<a href="https://google.com">Google</a>