- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在网站 www.example.org 上我有一个 anchor #anchor。我必须使用 anchor ,因为该网站是用 GWT 编写的,并且嵌入在 iframe 中(并且两个网站都有不同的域)。
幸运的是,我找到了一个滚动到 anchor 的解决方案,该解决方案适用于 Chrome、Safari、IE7、IE8、IE9,但事实证明它不适用于 Firefox。
在我的代码中,我检查了浏览器是否是 IE 浏览器之一。如果是,那么我这样做:
window.location = www.example.org#anchor
效果非常好。
如果浏览器不是这些 IE 之一,那么我会这样做:
window.location.href = '#anchor';
这在 Chrome 和 Safari 中完美运行。
然而,这两种解决方案都不适用于 Firefox (6)。有谁知道如何在 FireFox 中滚动到 anchor ?
附注在这种情况下,scrollIntoView、scrollTo(0,0) 和获取滚动到该元素的元素不起作用...经过几天的尝试,我发现只有 anchor 才有效。
最佳答案
我知道这已经有一段时间了,但我刚刚遇到了同样的问题,并发现了一个糟糕但有效的解决方案。问题:Firefox 在某些 iframe 中不响应 location.hash。上面在 jsfiddle 中发布的简单示例确实有效,但更复杂的示例(在我自己的 Facebook 应用程序中)则不起作用。解决方案:在您想要 anchor 的位置创建一个视觉上隐藏的 INPUT 元素。
<input id="top_anchor" type="text" style="position:relative; z-index:-1; float:left">
CSS 的目的是欺骗浏览器,让其认为输入是可见的,但实际上要使元素对用户不可见,请根据您自己的情况进行修改。 z-index 会将其呈现在其父元素下方(您可能需要弄乱父元素才能使其完全工作),并且应用于它的 float 将有助于输入在其父元素中折叠。重要的是我们不要使用“display:none”或“visibility:hidden”,因为浏览器会认为该元素在视觉上是隐藏的,并且下一部分将不起作用。
下一部分:在您的 JavaScript 中,我们没有改变哈希值或位置,而是找到了一种更狡猾的方法来让浏览器跳转到页面中的某个点:
document.getElementById('top_anchor').focus();
我刚刚在 Firefox 8 中对此进行了测试,效果非常好。令人遗憾的是,这样一个不诚实的黑客可以工作,但最初的、善意的代码却不能;但我完全理解某些行为需要由用户操作触发的思维过程。
关于javascript - iframe 中的 window.location.href 在 FireFox 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7760129/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!