<a href添加本地文件路径到URL

3
我这里遇到了一些困难。我想将一个 <a> 标签设置为外部 URL,但每次设置后,链接中都会添加包含该 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');
});
<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>

每次在新标签页中打开新链接时,我得到的是:file:///C:/PASSIS%20-%20Landing%20Page/google.com。

Local File Path Added To URL


请确保您的链接中包含 http://https://。有时这会导致问题。 - Script47
完全正确。添加协议。 - CompanyDroneFromSector7G
3个回答

5

对于外部链接,您需要使用协议(http://https://),以便HTML知道它是外部资源/站点,而不是本地资源。


2

我曾经也困惑过这个问题。解决方法很简单,只需要在链接中加入协议类型即可,例如:

<a href="https://google.com">Google</a>

1

由于您不是指向本地文件,而是外部页面,因此必须在 google.com 前添加 https:// (http://) 协议:

<a class="login" id="login" href="https://google.com">Login.</a>

谢谢。简单到这种程度,居然会给我带来这么多问题,真是难以置信。 - gbade_

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接