解决 iframe 中的锚点在火狐中无效的问题
来源:互联网 发布:prime输入法知乎 编辑:程序博客网 时间:2024/06/07 02:50
最近在一个项目中用到 iframe,其中有些页面带有“锚点(anchor)”,在 IE 下 iframe 里的锚点工作正常,但是在火狐及 Google Chrome 浏览器中却无效···
于是打开 Google 放狗去搜,搜了半天中文资料均无果···
就在绝望之际,想想国内的人没有老外那么有奉献精神,于是换成英文的再放狗搜,功夫不负有心人呀,果然在一篇老外的博文中给出了答案···
在给出方案之前,我们先来简要地说一下为什么火狐下会出现改现象的原因,原来火狐是基于安全性考虑,在 火狐4 及以上版本中禁止了在 iframe 跳至锚点的支持(我刚看到这个时,顿时恍然大悟——原来如此,我晕~~)···
先将方案共享出来,也好给国人遇到同样问题的人一个参考,这个方案是基于 JQuery 的,代码如下:
<script type="text/javascript">
// 这个函数解决“anchor(锚点)”在火狐中 iframe 内无效问题
$(
function
(){
$(
"a"
).each(
function
(){
var
link = $(
this
);
var
href = link.attr(
"href"
);
if
(href && href[0] ==
"#"
)
{
var
name = href.substring(1);
$(
this
).click(
function
() {
var
nameElement = $(
"[name='"
+name+
"']"
);
var
idElement = $(
"#"
+name);
var
element =
null
;
if
(nameElement.length > 0) {
element = nameElement;
}
else
if
(idElement.length > 0) {
element = idElement;
}
if
(element) {
var
offset = element.offset();
window.parent.scrollTo(offset.left, offset.top);
}
return
false
;
});
}
});
});
</script>
转载至:http://matthewmanela.com/blog/making-linking-between-anchors-in-an-iframe-work-in-firefox-4-and-above/
- 解决 iframe 中的锚点在火狐中无效的问题
- 解决火狐浏览器iframe的focus和blur事件触发无效问题
- confirm在火狐中无效的解决方案
- 解决WebUploader 在火狐浏览器上传按钮无效问题
- onblur事件的时候focus在火狐浏览器中无效
- onblur事件的时候focus在火狐浏览器中无效
- 解决android:layout_marginBottom在RelativeLayout中无效的问题
- 解决android:layout_marginBottom在RelativeLayout中无效的问题
- 解决vue-cli在ie9+中无效的问题
- 解决在火狐中注释内容被显示在网页上的问题
- iframe中的session失效问题的解决
- 导出文件在IE和火狐中文件名乱码问题的解决
- 解决iframe中session丢失的问题
- 兼容解决 IE 、火狐、谷歌浏览器中 Iframe框架的页面缓存的方法
- 兼容解决 IE 、火狐、谷歌浏览器中 Iframe框架的页面缓存的方法
- 解决火狐浏览器发送jquery的ajax请求无效的问题
- JavaScript中,window.close()在火狐中的问题
- 在IFrame中查找IFRAME中的元素的方式
- poj1323解题报告
- PLSQL Developer连接远程oracle配置
- 调用系统相册和系统相机拍照
- IBM Power6、7配件FC号描述翻译(unix360.part09)
- UNIX TCP回射服务器/客户端(6):线程池服务器
- 解决 iframe 中的锚点在火狐中无效的问题
- memcache扩展0.2版本和0.4版本差异(一)
- stanford mvs 学习记录
- LVS/NAT学习笔记
- linux文件系统的结构体
- 从Hadoop框架与MapReduce模式中谈海量数据处理(含淘宝技术架构)
- 数据库设计字段类型参考
- memcache介绍很详细的一个博客地址
- findbugs 在线安装地址