本地锚链接在 chrome 桌面浏览器中不起作用

Posted

技术标签:

【中文标题】本地锚链接在 chrome 桌面浏览器中不起作用【英文标题】:local anchor links not working in chrome desktop browser 【发布时间】:2019-08-28 05:00:39 【问题描述】:

我想使用这个 greenfair CSS 模板 (https://www.free-css.com/free-css-templates/page229/greenfair) 但导航栏中的锚链接在 chrome 中不起作用(它们在 firefox 和 IE 中起作用)。我能做些什么来解决这个问题?可以使用页面上的live-demo进行复现。

一个例子是这个#welcome 锚:

<div class="collapse navbar-collapse zero_mp" id="bs-example-navbar-collapse-1">
                            <ul class="nav navbar-nav navbar-right main_menu">
                                 <li><a href="#welcome">about</a></li>
                            </ul>
                        </div>


<!--Start of welcome section-->
    <section id="welcome">
        <div class="container">
            <div class="row">
                <div class="col-md-12">
                    <div class="wel_header">
                        <h2>welcome to green fair</h2>
                        <p>Our Green Fire Organization is one of the non profit organization near you. Get our services like</p>
                    </div>
                </div>
            </div>
            <!--End of row-->
            <div class="row">
                <div class="col-md-3">
                    <div class="item">
                        <div class="single_item">
                            <div class="item_list">
                                <div class="welcome_icon">
                                    <i class="fa fa-leaf"></i>
                                </div>
                                <h4>eco system</h4>
                                <p>Lorem ipsum dolor sit amet, eu qui modo expetendis reformidans ex sit set appetere sententiae seo eum in simul homero.</p>
                            </div>
                        </div>
                    </div>
                </div>
                <!--End of col-md-3-->
                <div class="col-md-3">
                    <div class="item">
                        <div class="single_item">
                            <div class="item_list">
                                <div class="welcome_icon">
                                    <i class="fa fa-refresh"></i>
                                </div>
                                <h4>recycling</h4>
                                <p>Lorem ipsum dolor sit amet, eu qui modo expetendis reformidans ex sit set appetere sententiae seo eum in simul homero.</p>
                            </div>
                        </div>
                    </div>
                </div>
                <!--End of col-md-3-->
                <div class="col-md-3">
                    <div class="item">
                        <div class="single_item">
                            <div class="item_list">
                                <div class="welcome_icon">
                                    <i class="fa fa-tint"></i>
                                </div>
                                <h4>water refine</h4>
                                <p>Lorem ipsum dolor sit amet, eu qui modo expetendis reformidans ex sit set appetere sententiae seo eum in simul homero.</p>
                            </div>
                        </div>
                    </div>
                </div>
                <!--End of col-md-3-->
                <div class="col-md-3">
                    <div class="item">
                        <div class="single_item">
                            <div class="item_list">
                                <div class="welcome_icon">
                                    <i class="fa fa-cog"></i>
                                </div>
                                <h4>solar system</h4>
                                <p>Lorem ipsum dolor sit amet, eu qui modo expetendis reformidans ex sit set appetere sententiae seo eum in simul homero.</p>
                            </div>
                        </div>
                    </div>
                </div>
                <!--End of col-md-3-->
            </div>
            <!--End of row-->
        </div>
        <!--End of container-->
    </section>
    <!--end of welcome section-->

【问题讨论】:

您必须在问题中提供代码示例,而不是发布外部链接 完成了。但我认为错误不在这个 sn-p 之内。问题是我不知道去哪里找。 我在尝试现场演示时在控制台中看到很多错误。特别是,Uncaught TypeError: Cannot read property 'LayoutMode' of undefined at cells-by-row.js:1 这个错误可以通过反转 isotype.pkgd 和 cells-by-row 脚本的包含顺序来修复 我切换了这些文件的包含顺序,Barmar 描述的错误消失了。不幸的是,锚不工作的问题仍然存在。 【参考方案1】:

要解决此问题,您需要更新 jquery、jquery.localScroll 和 jquery.scrollTo 以与最新版本的 chrome 兼容。

我在您的 css 模板中使用了以下版本的模块,一切正常:

jquery-2.2.4.js jquery.scrollTo.min.js 2.0 版 jquery.localScroll.min.js 2.0 版

以下是您可以获取它们的链接:

<script src="https://code.jquery.com/jquery-2.2.4.js" integrity="sha256-iT6Q9iMJYuQiMWNd9lDyBUStIq/8PuOW33aOqmvFpqI=" crossorigin="anonymous"></script>

jquery.scrollTo jquery.localScroll

另外,index.html文件有一个小错误:

未捕获的类型错误:无法读取未定义的属性“LayoutMode”

您可以通过反转 cells-by-row.js 和 isotope.pkgd.min.js 文件的包含顺序来修复它。

【讨论】:

我更新了 js 子目录中的 2 个模块,并从上面插入了包含 jquery-2.2.4 链接的行。它没有改变任何东西。但我发现当我删除(重命名,注释掉......) jquery.localScroll.min.js 时,链接在 chrome 中工作。然后他们就不会轻轻滚动。 哦,当然我从代码中删除了 jquery-1.12.3.min.js 你需要更新3个模块,它会轻轻滚动。我正在运行 chrome 73。关于 jquery.scrollTo.min.js 和 jquery.localScroll.min.js,您需要将文件替换为 js 文件夹中的更新版本 当我将所有内容复制到本地 Windows 机器时,它可以工作。即使重新启动后,它仍然无法在我的 linux 服务器上运行。但现在这是另一个问题。谢谢。 太棒了!但是,当您将文件部署到 Linux 服务器时,它应该可以工作,因为此 javascript 是在客户端(即浏览器)上执行的。确保您清理了浏览器缓存和 html 页面的源代码,以确保真正应用了更改。

以上是关于本地锚链接在 chrome 桌面浏览器中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

javascript代码在chrome移动浏览器中不起作用,但在桌面上它工作正常

本地主机在 chrome 和 firefox 中不起作用

为啥 jscript 在 iOS 7 的 Chrome 浏览器中不起作用?

Android - Branch.io 深度链接在 chrome 中不起作用

html5 中的 hls 在 android chrome 浏览器中不起作用

jQuery Animate 顶部:在 Chrome 中不起作用