首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

关于现代浏览器的 back-and-forward 缓存机制

如果单击浏览器的后退按钮而不是应用程序的后退按钮,应用程序也会将我们返回到 hero list. Angular 应用程序导航会像普通 Web 导航一样更新浏览器历史记录。...据 Google 一份调查报告统计,移动设备上大约 20% 的页面访问是通过后退和前进按钮进行的。 考虑用户应该如何体验后退或前进导航时,我们确实有一个理想的体验 - 基于特定移动平台的原生应用。...当用户使用后退或前进按钮导航回到堆栈的某个项目时,浏览器会将它从 cache 取下来,并呈现给用户而不刷新内容。 这包括所有可能处于变化的输入元素状态。 换句话说,这是一种有状态浏览。... SPA 即单页面应用里,当用户与浏览器的后退按钮交互时,并没有真正导航到新的 HTML 页面。... SPA 中使用后退和前进按钮的缺点是绘制 DOM 和从浏览器缓存检索资源的成本。 如果文档非常大,即使从浏览器缓存检索资源也可能代价高昂。 此外,保持以前的滚动位置可能非常棘手。

2.1K30

无限滚动加载最佳实践

返回按钮将用户待回至之前的位置 有时候,无限滚动的实现带来一个主要的可用性缺陷:滚动位置并未被记录为“状态”。如果用户从列表的链接跳转了,然后点返回按钮,他们希望能回到页面原来相同的位置。...但是列表的位置不再存在了,这意味着使用浏览器返回按钮一般都导致滚动位置重置到页面顶部。无怪乎用户很快就觉得沮丧,都没有一个合适的“回到列表”的功能。 ?...别让你的用户就因为使用返回按钮,找不到列表的位置。很重要的是,用户通过列表访问了某一个项目的详情页,他们点击浏览器返回按钮返回列表的时候,也应该在相同的位置。...Flickr 监听用户点击浏览器后退按钮的行为,满足用户的期望。APP 记住用户的滚动位置,所以当用户按后退按钮的时候,返回到原始位置。 ? 4....当网站或应用提供书签功能的时候,用户会使用的。比方说,Pinterest,使用书签工具帮助用户保存创意。 ? 5. 加载新内容时提供视觉反馈 当内容加载的时候,用户需要明确的指示,说明正在进行

4.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

JQuery之内置函数响应事件

一:键盘事件有: 1.keydown  当键盘或按钮被按下时,发生 keydown 事件。注释:如果在文档元素进行设置,则无论元素是否获得焦点,该事件都会发生。...注释:如果在文档元素进行设置,则无论元素是否获得焦点,该事件都会发生。 3.keyup  当按钮被松开时,发生 keyup 事件。它发生在当前获得焦点的元素上。...2.失去焦点blur :当元素失去焦点时触发 blur 事件。这个函数会调用执行绑定到blur事件的所有函数,包括浏览器的默认行为。可以通过返回false来防止触发浏览器的默认行为。...可以通过某个绑定的函数返回false来防止触发浏览器的默认行为。 四:其他事件: 1.scroll 当用户滚动指定的元素时,会发生 scroll 事件。...scroll 事件适用于所有滚动元素和 window 对象(浏览器窗口)。 2.resize  当调整浏览器窗口的大小时,发生 resize 事件。

2.1K60

VUE框架:vue2转vue3全面细节总结(4)滚动行为

第三个参数 savedPosition,只有当这是一个 popstate 导航时才可用(点击浏览器的后退/前进按钮,或者调用 router.go() 方法)。...) { // 始终滚动到顶部 return { top: 0 } }, }) 滚动元素位置 也可以通过 el 传递一个 CSS 选择器或一个 DOM 元素。...const router = createRouter({ scrollBehavior(to, from, savedPosition) { // 始终元素 #main 上方滚动 10px...) { return { el: to.hash, } } }, }) 滚动到之前的位置 返回 savedPosition,在按下浏览器 后退/前进...我们还可以返回的对象添加 behavior: 'smooth' ,让滚动更加丝滑。 延迟滚动 有时候,我们不希望立即执行滚动行为。例如,当页面做了过渡动效,我们希望过渡结束后再执行滚动

21050

JavaScript 高级程序设计(第 4 版)- BOM

window 对象浏览器中有两重身份,一个是 ECMAScript 的 Global 对象,另一个就是浏览器窗口的 JavaScript 接口。...度量文档相对于视口滚动距离的属性有两对,返回相等的值:window.pageXoffset/window.scrollX和window.pageYoffset/window.scrollY 可以使用scroll...# 导航与打开新窗口 window.open()可以用于导航到指定URL,也可以用于打开新浏览器窗口 接收四个参数:要加载的URL、目标窗口、特性字符串和表示新窗口浏览器历史记录是否代替当前加载页面的布尔值...,以及文本框的默认值 如果用户单击了 OK 按钮,则 prompt()会返回文本框的值。...空参可能会从缓存加载,传参true强制从服务器重新加载 # navigator对象 navigator 对象的属性通常用于确定浏览器的类型 检测插件 通过plugins数组来确定,数组每一项都包含如下属性

1.2K10

如何使用CSS的固定定位属性?

摘要 本文介绍了CSS的固定定位属性(position: fixed)的使用方法和注意事项。固定定位属性可以将元素固定在浏览器窗口的特定位置,不随页面滚动而变动,常用于创建固定导航栏、页脚等。...CSS的固定定位属性(position: fixed)是一种常用的布局技术,可以将元素固定在浏览器窗口的特定位置,不随页面滚动而变动。这个属性开发各种网页和应用程序时非常有用。...本文将介绍固定定位属性的使用方法,并提供具体的代码示例。 什么是固定定位属性? 固定定位属性是CSS提供的一种布局方式,它使元素相对于浏览器窗口进行定位,与其它元素无关。...无论页面如何滚动,该元素始终保持指定的位置上。常见的应用场景包括页眉、页脚、悬浮按钮等。...使用固定定位属性的基本语法 要使用固定定位属性,首先需要为元素设置一个样式类或ID,然后CSS样式表定义这个类或ID的样式。

21710

2024年,你需要了解下这 12 个现代化 CSS 新属性

scroll-margin的作用 scroll-margin系列属性允许你为元素滚动位置上下文中添加一个偏移量。这在处理诸如固定导航栏遮挡锚点链接内容时特别有用。.../* 为所有具有id属性的元素添加scroll-margin */ [id] { scroll-margin-top: 2rem; } 在这个例子,任何具有id属性的元素通过导航滚动到它时...这不会影响元素文档的布局位置,但可以改善滚动到特定元素时的视觉体验。...浏览器兼容性 8、accent-color 在前端开发,定制化表单元素的样式一直是一个挑战,尤其是对于复选框和单选按钮这样的原生UI控件。...保持视觉平衡:使用both-edges关键词可以滚动容器的两侧都预留空间,即使滚动条不可见时也能保持布局的对称性。 浏览器兼容性 结束 至此,我们对几个CSS的新特性进行了深入的探讨和分析。

29110

Android开发人员不得不学习的JavaScript基础(二)

prompt() 显示提示用户输入的对话框 confirm() 显示带有一段消息以及确认按钮和取消按钮的对话框 open() 打开一个新的浏览器窗口,或者查找一个已命名的窗口 close() 关闭浏览器窗口...取消setTimeOut的值 2、history对象 history对象记录了用户曾经浏览过的页面(URL),并可以实现浏览器前进与后退相似导航的功能。...方法/属性 描述 length 返回浏览器历史列表的URL数量 back() 加载history列表的前一个URL forward() 加载history列表的下一个URL go() 加载history...可以使用userAgent属性来判断使用的是什么浏览器: ?...6.5、getElementsByTagName()方法,返回带有指定标签名的节点对象的集合。返回元素的顺序是它们文档的顺序。 Tagname是标签的名称,如p、a、img等标签名。

72530

iOS 11 更大的导航 (官方翻译版)

有时,导航栏的右侧包含一个控件,如编辑或完成按钮,用于管理活动视图中的内容。拆分视图中,导航栏可能会出现在拆分视图的单个窗格。...提示不需要导航使用工具栏,或者想要多个控件来管理内容。请参阅工具栏。 导航栏标题 考虑导航显示当前视图的标题。大多数情况下,标题帮助人们了解他们正在查看的内容。...一些应用程序,大标题的大胆大胆的文字可以帮助人们浏览和搜索。例如,标签布局,大标题可以帮助澄清活动选项卡,并在用户滚动到顶部时通知用户。...如果用自定义图像替换系统提供的返回按钮人字纹,也可以提供自定义遮罩图像。iOS使用此遮罩时,可以转换期间为按钮标题设置动画。 不要包含多段面包屑路径。...后退按钮总是执行单个操作 - 返回到上一个屏幕。如果您认为没有当前屏幕的完整路径的情况下,人们可能会迷失方向,请考虑对应用程序的层次结构进行展平。 给文本标题按钮足够的空间。

2.8K30

你应该知道的网页设计的规则和禁忌

视觉层次结构是指以暗示重要性的方式安排或呈现元素(例如,他们的眼睛应该集中拿了? 第一、第二等) 将屏幕标题,登录表单,导航项目或其他重要内容等重要内容标记重点,以便访问者立即查看。 ?...6.确保可点击的元素对用户显而易见 一个物体的外观告知用户如何使用它。...视觉元素看起来像是链接或按钮,但不可点击(即,有下划线的单词没有链接,具有文字动作的元素,但不是超链接)这样很有可能会使用户混淆。用户需要知道页面的哪些区域是纯静态内容,哪些区域是可点击的。...如果加载时间过长,即使你有设计精美的加载指示器,也可能迫使用户离开网站。 ? 2.不要在新标签页打开链接 这种粗鲁的行为会禁用Back按钮,而这是用户返回到以前的站点的常规方式。...这些元素应谨慎使用,只有适当的时候和预期的情况下才能使用。 ? Facebook视频设置为自动播放,但不会出现任何声音,除非用户有意图以某种方式观看视频(例如通过视频进行交流)。

1.4K40

【译】W3C WAI-ARIA最佳实践 -- 布局

一个呈现表格数据的 grid ,每一个单元格都包含一个聚焦的元素或其单元格本身聚焦,无论单元格内容是否可编辑或可交互。...组合部件的布局栅格 grid 模式可被用于组合一组交互元素,例如链接、按钮、和复选框。由于整个网格只有一个元素包含在tab序列,所以使用网格进行分组可以显著减少页面上的tab步骤。...交互模式中使用光标键交互的组件,例如单选按钮或滑块。 以下为禁用和恢复网格导航功能的惯用键盘操作。...请参阅使用 aria-owns 进行详细说明。 工具栏 工具栏 是一个对控件进行分组的容器,例如,按钮、菜单按钮、或复选框。...般来说,使用键盘进行导航时,不可用元素不可聚焦。但是,某些需要发现功能的场景,如果不可用元素聚焦,可以帮助屏幕阅读器用户发现这些功能的存在。

6.1K50

防御式CSS是什么?这几点属性重点防御!

在这个例子,我们右边有一个section标题和一个操作按钮。目前,它看起来还不错。但是,如果标题再长一些,会发生什么呢? 注意到文本太靠近按钮了吗?...默认情况下,当触及页面顶部或者底部时(或者是其他滚动区域),移动端浏览器倾向于提供一种“触底”效果,甚至进行页面刷新。...根据浏览器的高度进行测试可以发现一些有趣的问题。 这里有一个我见过多次的例子。我们有一个带有主要和次要链接组件。次要链接应该位于旁白部分的最底部。 考虑一下下面的例子。主导航和次导航看起来还不错。...我看到的这个例子,开发者给二级导航添加了 position: sticky,这样它就可以粘在底部了。 然而,如果浏览器的高度较小,bug 就来了。注意这两个导航是如何重叠的。...CSS Flexbox的最小内容尺寸 如果一个 flex 项目中的文本元素或图像大于或长于该项目本身,浏览器就不会缩小它们。这是Flexbox 的默认行为。

4.3K30

Web 用户体验设计提升实践

光看定义有点难理解,简单而言,这个属性规定了一个容器是否对内部滚动动作进行捕捉,并且规定了如何去处理滚动结束状态。让滚动操作结束后,元素停止适合的位置。...先说结论,控制滚动层级的意思是尽量让需要进行 CSS 动画(可以是元素的动画,也可以是容器的滚动)的元素的 z-index 保持页面最上方,避免浏览器创建不必要的图形层(GraphicsLayer),...浏览器通常会使用元素的 :focus 伪类,给元素添加一层边框,告诉用户当前的获焦元素在哪里。 我们可以通过键盘的 Tab 键,进行焦点的切换。...3.5 分析使用聚焦元素模拟的按钮 这里随便选取了我们业务中一个使用 span 模拟按钮的场景,是一个面包屑导航,点击可进行跳转: [ ] HTML 代码: <span class="ssc-breadcrumb-item-link...当然,这个<em>按钮</em>可以再更进一步<em>进行</em>改造,涉及了更深入的<em>可</em>访问性知识,本文不详细展开。 3.6 分析组件库的<em>可</em>访问性 最后,我们来看看常用的 ant-design <em>在</em>提升<em>可</em>访问性上的一些相关功能。

1.1K20

【交互探讨】无限滚动还是分页展示,这是个问题!

使用这种模式,可以让用户开始时滚动,最终他们可以选择点击按钮来加载更多项目。...同时,我们还提供了“返回按钮,可以返回到前边的项目,因此用户可以随时掌控自己的位置。 我们允许用户发送指向列表当前位置的链接,便于后续继续浏览。...一般来说,我们可能不想在其中添加无限滚动的每一步,使用户的浏览器历史记录混乱。所以选择带有下拉菜单到特定页面确实是个好主意。 用户可以跳转到特定页面,同时浏览过程中使用无限滚动。...也许当前页码旁边添加v字形下拉按钮会使它更加明显。Pepper.pl图片 将分页和无限滚动结合在一个地方的一个很好的例子;唯一的改进可能是稍微更好的焦点样式和更好的访问性导航跳转。...当用户继续向下滚动时,标签会随着滚动条的增长而变化,还可以根据用户选择的对项目进行排序的任何条件进行使用。 如果用户按价格排序,我们可以滚动条旁边显示动态的价格标签。

3.1K20

SAP UI5 应用里一些容器控件的介绍

Shell 为整个应用程序提供了一些总体功能,并负责桌面浏览器平台上进行视觉适配,例如应用程序周围的框架。...标准标题包括导航按钮和标题。开发人员也可以创建自己的自定义标头,该标头 customHeader 聚合定义。 Content Area 内容占据了页面的主要部分。...默认情况下只有内容区域是滚动的。 这可以通过将 enableScrolling 设置为 false 来禁用其滚动行为。 footer 页脚是可选的,占据页面的固定底部。...注意:不同区域的所有访问性信息及其相应的 ARIA 角色都在 sap.m.PageAccessibleLandmarkInfo 类型的聚合 landmarkInfo 设置。... SAP Quartz 主题中使用 sap.m.Page 时,断点和布局填充可以由容器的宽度决定。

1.8K30

最新iOS设计规范四|3大界面要素:视图(Views)

栏(Bars) 栏,可以告诉用户APP当前在所在的位置、能提供导航,还可能包含用于触发操作和传递信息的按钮或其他元素。包括6种:导航栏、搜索栏、侧边栏、状态栏、标签栏、工具栏。...相对于集合,文本信息展示一个滚动的列表,浏览起来会更简单和有效。 谨慎进行动态布局变更。集合的布局是可以随时更改的。...用户经常会在滚动使用非常大幅度的动作,如此便会非常难以避免同一屏幕对相邻的滚动视图进行交互操作。...如果附近存在其他交互元素,例如显示指示器,则在出现手势时很难辨别用户的意图,并且可能会激活错误的元素。 表单的行 使用标准表格单元格样式来定义内容表格行的显示方式。...网页视图支持前进和后退导航,但默认情况下这种交互行为是被禁用了的。如果用户想通过网页视图访问多个页面,请启用前进和后退导航,并提供相应的控件来启动这些功能。 避免使用网页视图来构建一个网页浏览器

8.3K31

前端优秀实践不完全指南

光看定义有点难理解,简单而言,这个属性规定了一个容器是否对内部滚动动作进行捕捉,并且规定了如何去处理滚动结束状态。让滚动操作结束后,元素停止适合的位置。 看个简单示例: ?...先说结论,控制滚动层级的意思是尽量让需要进行 CSS 动画(可以是元素的动画,也可以是容器的滚动)的元素的 z-index 保持页面最上方,避免浏览器创建不必要的图形层(GraphicsLayer),...尤其我们一些重交互、重逻辑的网站,我们需要考虑用户的使用习惯、使用场景,从高访问性的角度考虑,譬如假设用户没有鼠标,仅仅使用键盘,能否顺畅的使用我们的网站?...简单来说,它提供了一些属性,增强标签的语义及行为: 可以使用 tabindex 属性控制元素是否可以聚焦,以及它是否/何处参与顺序键盘导航 可以使用 role 属性,来标识元素的语义及作用,譬如使用...分析使用聚焦元素模拟的按钮 这里,我随便选取了我们业务中一个使用 span 模拟按钮的场景,是一个面包屑导航,点击可进行跳转,发现惨不忍睹: ?

95520

最新iOS设计规范三|3大界面要素:栏(Bars)

栏(Bars) 栏,可以告诉用户APP当前在所在的位置、能提供导航,还可能包含用于触发操作和传递信息的按钮或其他元素。包括6种:导航栏、搜索栏、侧边栏、状态栏、标签栏、工具栏。...一、导航栏(Navigation Bars) 导航栏出现在页面的顶部,位于状态栏下方,可以给一系列层级页面进行导航。当点击进入新页面时,其导航栏的左侧会出现一个返回按钮,并带有前一页面的标题。...大标题绝对不能与内容竞争,但是某些应用,大标题的粗体会帮助人们浏览和搜索时进行快速定位。例如:选项卡式布局,大标题有助于说明活动选项卡,并指示用户何时已滚动到顶部。...考虑导航栏中使用分段控件,使APP的层次结构更加扁平。如果在导航栏中使用分段控件,务必仅在层次结构的顶层使用。并确保较低的级别选择准确的返回按钮标题。 ?...通常,使用标签栏应用程序级别组织信息。标签栏是拉平信息层次结构并同时提供对多个对等信息类别或模式的访问的一种好方法。 严格使用标签栏进行导航。不要使用标签栏按钮来启用操作。

9.8K10

iOS 9人机界面指南(四):UI元素(上) - 腾讯ISUX

当用户到达一个新的层级,导航栏需要做出这样的改变: 导航栏标题应该变成当前层级的标题。 当前标题左侧放置应有返回按钮,需要的话,返回按钮可以以前一层级的标题命名。 使用当前视图的标题作为导航栏标题。...如果在导航栏中使用了分段控件,请确保返回按钮标题命名的准确。(更多使用指引请参阅本章第三节的分段控件。) ?...即使空间充足,也应当避免让过多的控件填满你的导航栏。一般来说,导航栏上应该不多于以下三个元素:当前视图的标题、返回按钮和一个针对当前的操作控件。...屏幕处于同一方向时,最好不要改变不同屏上导航栏的背景图片、颜色和透明度。 确保你自定义的返回按钮的外观与操作仍然像一个返回按钮。...用户知道系统默认的返回按钮能帮助他们信息层级追踪自己的路径,如果你想重新设计它,请确保使用一个自定义的蒙版图层 (custom mask image),它可以iOS让这些按钮标题在系统各转场中出现或者消失

10.1K51

灵活运用CSS开发技巧

CodePen进行保存,点击在线演示即可查看 兼容项点击链接即可查看当前属性的浏览器兼容数据,自行根据项目兼容需求考虑是否使用 以下代码全部基于CSS进行书写,没有任何JS代码,没有特殊说明的情况下所有属性和方法都是...在线演示 使用overflow-x排版横向列表 要点:通过flexbox或inline-block的形式横向排列元素,对父元素设置overflow-x:auto横向滚动查看 场景:横向滚动列表、元素过多但位置有限的导航栏...场景:动画元素(绝对定位、同级超过6个以上使用动画) 兼容:transform .elem { transform: translate3d(0, 0, 0); /* translateZ(...在线演示 使用:focus-within分发冒泡响应 要点:表单控件触发focus和blur事件后往父元素进行冒泡,元素上通过:focus-within捕获该冒泡事件来设置样式 场景:登录注册弹框、...在线演示 标签导航栏 要点:切换内容的导航栏 场景:页面切换 兼容:~ 代码:在线演示 ? 在线演示 折叠面板 要点:可折叠内容的面板 场景:隐藏式子导航栏 兼容:~ 代码:在线演示 ?

4.5K20
领券