首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在html中添加锚标签和潜在的javascript干扰问题

在html中添加锚标签和潜在的javascript干扰问题
EN

Stack Overflow用户
提问于 2019-07-13 01:34:29
回答 1查看 54关注 0票数 0

我有两个html页面,在第一个页面上,我有一个指向第二个页面的anchor tag的链接。

Here是第一页。在页面的底部有一些链接。例如,如果用户点击Analog Electronics链接,他/她将转到包含该anchor tag的第二个页面。

以下是第一页上的链接:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<a href="/electronics.html#electronics-books-suggested-by-hooman-darabi">Electronics</a>

下面是第二页上的anchor tag

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<h3 id="electronics-books-suggested-by-hooman-darabi">Electronics books suggested by Hooman Darabi</h3>

起初,锚定在Chrome上不起作用,但在Firefox上起作用。在谷歌上搜索后,我找到了一些线索:

在我的html文件的底部,我包含了三个JavaScript文件:

如果我注释掉这3个中的任何一个,anchoring在Chrome和FireFox上都能正常工作。但我当然需要这3个JS文件被包括在我的页面上。

经过更多的研究,我发现了这个建议:

要使anchoring正常工作,并且当链接被单击时,显示的第二个页面的顶部将位于anchor tag位置,我必须将以下代码添加到html页面:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(document).ready(function () {
            var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
            if (window.location.hash && isChrome) {
                setTimeout(function () {
                    var hash = window.location.hash;
                    window.location.hash = "";
                    window.location.hash = hash;
                }, 200);
            }
        });

我不知道这段代码是做什么的,但它有助于锚定显示在所显示的链接页面的顶部。

虽然这段代码解决了我的问题,但现在发生了一些不好的事情!如果我在第二页(http://www.doradolist.com/analog.html#analog-electronics-books-suggested-by-hooman-darabi)点击了Chrome浏览器的背面底部,我就不会回到上一页。我需要按3次后部底部才能返回到上一页。如果我看一下在每次底部按下后URL发生了什么,我在页面的URL中看到了以下内容:

原始URL:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://www.doradolist.com/analog.html#analog-electronics-books-suggested-by-hooman-darabi

在一次后部点击后:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://www.doradolist.com/analog.html#

在底部点击两次后:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://www.doradolist.com/analog.html#analog-electronics-books-suggested-by-hooman-darabi

最后,在底部点击3次后,我会转到原始页面。

任何关于这个后端问题发生的原因以及如何解决它的帮助都将不胜感激。或者,如果不是添加我上面展示的代码,而是有另一种方法来解决Chrome中的anchoring问题,那将会更好,因为back bottom问题是该代码的结果。

EN

回答 1

Stack Overflow用户

发布于 2019-07-13 07:25:23

为了回答您关于为什么会发生这种情况的问题,我将解释这段代码在做什么。

一旦你登陆到第二个页面(历史上的第一个网址),这段代码等待文档被加载($(document).ready),然后执行传递给它的回调,该回调检查浏览器是否是Chrome,如果是,它就在消息总线(setTimeout)上添加一个回调,它从网址中抓取散列,它从网址中移除散列(历史上的第二个网址),然后将其添加回网址(历史上的第三个网址,并最终“滚动”到该ID)。

我已经用注释注释了你的代码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(document).ready(function () { // wait for document to load
            var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor); // check if browser is Chrome
            if (window.location.hash && isChrome) { // if the URL has a hash in it, and the browser is Chrome
                setTimeout(function () { // add this callback to the message bus
                    var hash = window.location.hash; // read the hash from the URL in the address bar
                    window.location.hash = ""; // set the hash in the URL in the address bar to be empty
                    window.location.hash = hash; // add the hash back to the URL in the address bar
                }, 200);
            }
        });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57015513

复制
相关文章
html中添加背景音乐的标签,添加背景音乐的html标签是什么
添加背景音乐的html标签是,bgsound是用以插入背景音乐,但只适用于IE,在netscape和firefox中并不适用,其参数设定很少,语法如“”。
全栈程序员站长
2022/09/15
6.4K0
html中添加背景音乐的标签,添加背景音乐的html标签是什么
HTML5 常用 标签 锚 列表 用法
指的是因为一个页面过长导致拖动滚动条不方便浏览的时候,有一种方法,点击某个超链接立即跳转到该部分。
Designer 小郑
2023/08/01
2450
【HTML】HTML 标签 ⑤ ( 锚点定位 | base 标签 | 预格式化文本标签 | HTML 特殊符号 )
base 标签 的 作用是 为 HTML 页面中 所有的链接 添加 打开状态 , 该标签必须 写在 <head></head> 标签之间 ;
韩曙亮
2023/03/30
2.2K0
【HTML】HTML 标签 ⑤ ( 锚点定位 | base 标签 | 预格式化文本标签 | HTML 特殊符号 )
HTML中的单标签和双标签
#HTML标签 刚开始学HTML发现有很多标签是只有一个<>的,比如这种。 然而也有很多是由<><>两对尖括号组成的,下面就来总结一下吧!
德勒
2021/04/15
2.8K0
HTML锚点
        以前只是知道有锚点这么个东西,一直没有用到,昨天做毕设用到了锚点,现在总结一下控制锚点的几种情况:         1. 在同一页面中 <a name="add"></a><!-- 定
高爽
2017/12/28
3.7K0
html中的标签
标签 也可以叫 元素。所以我们常说:html标签 或 html元素,比如 <body> 标签。
鹤川
2023/03/21
5.3K0
添加背景音乐的html标签是music,添加背景音乐的html标签是什么,
添加背景音乐的html标签是什么添加背景音乐的html标签是什么,添加背景音乐的html标签是bgsound。bgsound用于插入背景音乐,但只适用于IE,不适用于netscape和firefox。它的参数很少设置,语法是“bgsound src=’bjyy.mp3′ loop=-1”。
全栈程序员站长
2022/09/15
2.9K0
添加背景音乐的html标签是music,添加背景音乐的html标签是什么,
谈谈HTML中锚点及其使用
<a>元素 (或HTML锚元素, Anchor Element)通常用来表示一个锚点/链接。但严格来说,<a>元素不是一个链接,而是超文本锚点,可以链接到一个新文件、用id属性指向任何元素。如果没有<a>元素没有href属性的话,可以作为原本链接位置的占位符,常用于home链接
Javanx
2020/08/19
3.4K0
谈谈HTML中锚点及其使用
在HTML中添加背景音乐[通俗易懂]
说明:1、使用autoplay=”autoplay”,则背景音乐将在音网页打开后就自动马上播放。
全栈程序员站长
2022/09/15
5.7K0
html标签a在指定iframe框架中打开
常见的html标签就那4个属性,但如果想在指定的iframe框架中打开指定的html,可以有如下代码(例子)实现
说对她这样的不多
2022/04/19
4.7K0
php中删除html标签和标签内内容的方法
不少人去扒别人家的网站文章,我是指那种批量式采集的压根不看内容的,少不了都会用到删除 html 标签的函数,这里介绍 3 种不同用途上的方法 $str='<div><p>这里是 p 标签</p><img src="" alt="这里是 img 标签"><a href="">这里是 a 标签</a><br></div>'; 1:删除全部或者保留指定 html 标签 php 自带的函数 strip_tags 即可满足要求, 使用方法:strip_tags(string,allow); string:需要处
沈唁
2018/05/24
5.4K0
Python爬虫基础:常用HTML标签和Javascript入门
大部分HTML标签是闭合的,由开始标签和结束标签构成,二者之间是要显示的内容,例如:<title>网页标题</title>。也有的HTML标签是没有结束标签的,例如:<br />和<hr>。
Python小屋屋主
2018/09/20
1.8K0
HTML中的Meta标签
Meta标签是HTML语言head区的一个辅助性标签,它位于HTML文档头部的head标记和title标记之间,它提供用户不可见的信息。它可用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他web服务。
零式的天空
2022/03/22
3K0
HTML中的容器标签
什么是容器标签?在HTML开发中我们常常会使用一类标签作为容器放置一些内容,我们把这类标签称之为容器标签,可以作为容器标签的包括列表标签、表格标签、框架标签、布局标签,在这里我们就来总结下这些内容。
一墨编程学习
2018/09/14
4.1K0
HTML中的容器标签
在线客服系统中javascript 源码实现除去html标签
在线客服系统中除去HTML标签的主要原因是为了防止恶意用户通过输入恶意的HTML代码来攻击网站或其他用户。
唯一Chat
2023/01/05
9770
关于html中map标签的看法和总结
先说前言吧,前些日子一直在做一个项目开发没空来写博客~~今天遇到一个很棘手的问题。就是一个相对于图片定位热区和div的问题 要求: 1、把一个图片分隔成很多矩形 2、把这些矩形区域作为这个图片的热区显示 3、热区覆盖范围用红色线条描边 解决问题:我使用了jquery的一个插件jcrop(请查阅相关材料) 而这些区域显示就不用解释了,我记录下jcrop记录的四个值x1、y1、x2、y2而这个四个值组成(x1,y1)和(x2,y2) 而第一点是矩形左上角的点,而第二个点是右下角的点。而x1是第一个点距离图片左边
苦咖啡
2018/05/07
1.5K0
为Typecho添加更多html标签支持
// 找到这一行,在引号内添加div // 这里一般在第17行左右 public $_commonWhiteList =='kbd|b|i|strong|em|sup|sub|br|code|del|a|hr|small'; // 完成示例 public $_commonWhiteList =='kbd|b|i|strong|em|sup|sub|br|code|del|a|hr|small|div'; 同理,想要什么html标签都可以按照同样的方法加
Yangsh888
2022/04/03
1.1K0
在ClickHouse中添加或删除副本或分片时可能会面临的挑战和潜在问题
请注意,上述挑战和问题是基于ClickHouse的常见情况和一般性原则,具体情况可能因环境配置、硬件性能和数据规模等因素而有所不同。因此,在实际操作中,需要综合考虑系统的整体架构和要求,以确定适合的添加或删除副本的策略和步骤。
一凡sir
2023/10/22
3790
在ClickHouse中添加或删除副本或分片时可能会面临的挑战和潜在问题
html中的div span和frameset框架标签
Div和span 1.      div独占一层,由div九不允许有别的。 2.      span标签不是独自占用一行,span一般用来设置字体。 框架标签: 什么是框架标签,就是把一个页面分成很多
码农阿宇
2018/04/18
3.4K0
html中的div span和frameset框架标签
【HTML】HTML 标签总结 ★★★ ( 标签类型 | 排版标签 | 文本格式化标签 | 标签属性 | 图像标签 | 链接标签 | 注释标签 | 锚点定位 | 预格式化文本标签 | 特殊符号 )
HTML 英文全称 " HyperText Mark-up Language " , 中文名称是 " 超文本标记语言 " ;
韩曙亮
2023/03/30
7.1K0
【HTML】HTML 标签总结 ★★★ ( 标签类型 | 排版标签 | 文本格式化标签 | 标签属性 | 图像标签 | 链接标签 | 注释标签 | 锚点定位 | 预格式化文本标签 | 特殊符号 )

相似问题

标签锚点和href的问题,只有HTML

10

可以在blogger / blogspot的标签中添加锚点html吗?

113

在Javascript中设置锚点标签的文本

50

尝试在新的Google网站中添加锚和/或Id标签

217

HTML锚按钮问题

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文