moe*_*oey 15 html iframe firefox hyperlink
在iframe内部(在页面A上),我有一个简单的页面(页面B),它有一些跳转链接(例如<a href="#my-id">jump link</a>)到页面的不同部分(页面B).iframe高度预设为比page-B的高度更长; 这是一项要求.
由于某些原因,跳转链接在FF上不起作用(我在Mac/FF 10.0.2上); 但是,它在Safari和IE8上运行正常.这是示例页面.
页面代码
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Jump Link Test on an iFrame</title>
</head>
<body>
<h1>Page that has an iFrame</h1>
<iframe width="100%" height="2000" src="./iframe.html" frameborder="0" scrolling="no">
</iframe>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
iframe.html代码
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>iFrame Content</title>
<style type="text/css">
.box {
margin: 0 0 5px;
width: 400px;
height: 400px;
}
#box1 {
background-color: #f00;
}
#box2 {
background-color: #f0f;
}
#box3 {
background-color: #00f;
}
</style>
</head>
<body>
<ul>
<li><a href="#box1">Box 1</a></li>
<li><a href="#box2">Box 2</a></li>
<li><a href="#box3">Box 3</a></li>
</ul>
<div>
<div id="box1" class="box"></div>
<div id="box2" class="box"></div>
<div id="box3" class="box"></div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
注意:如果我设置iframe高度< page-B的高度,问题就会解决.然而,不幸的是,这不是给我的情况,因为我都进不去的选项页-A .
Ney*_*sor 18
正如您可以阅读Firefox Bug Report Nr.638598这是很久以前提到的!许多人也不喜欢这种行为,但Jonas Sicking在评论中说,这种情况永远不会改变.他认为这是firefox阻止这种潜在黑客功能的一个功能.
如果你不知道他在这里读到他是mozilla 的web-api项目的技术主管,以及W3C的indexeddb和file-api规范的编辑.
其他人试图找到像Matthew这样的解决方案,但这个例子在我的html结构的简短测试用例中不起作用.其他人说它应该与JavaScript和scrollTo()函数一起使用.
我很遗憾地说这只是FireFox的限制,但希望你很高兴能够安全地了解这个问题.
Ces*_*ssa 12
我已经遇到过这个问题.在我的情况下,我无法使用JavaScript解决方案,因为我的iframe在不同的域中,我无法访问父页面.
更改您的链接:
<a href="#my-id">jump link</a>
Run Code Online (Sandbox Code Playgroud)
对此:
<a target="_parent" href="http://parenturl.com/#my-id">jump link</a>
Run Code Online (Sandbox Code Playgroud)
并<div id="my-id"></div>在父页面中创建一个隐形,并使用CSS定位它.
| 归档时间: |
|
| 查看次数: |
22317 次 |
| 最近记录: |