html – 如何在iframe中定位div?

前端之家收集整理的这篇文章主要介绍了html – 如何在iframe中定位div?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在< iframe>中有一个元素我想使用< iframe>之外的链接激活.

例:

<iframe src="iframe.html" id="iframe">
    *inside the iframe*  
    <div id="activate" class="activate">
</iframe>
<a href="#activate" target="iframe">Link</a>

我认为这会起作用,但显然什么也没做,因为我很愚蠢.有任何想法吗?

解决方法

框架页面(test.html):
....... lots of content .... 
<div id="activate">Inside frame</div>

包含框架的页面(page-containing-frame.html):

<iframe src="test.html" name="target-iframe"></iframe>
<a href="test.html#activate"
       target="target-iframe"
       onclick="frames['target-iframe'].document.getElementById('activate')
                .scrollIntoView();return false">Click</a>
^ That's the link. I've split up code over multiple lines for visibility

说明

>框架的名称为attrbute,其值为target-iframe(显然,您可以选择任何所需的值).
>该链接包含三个属性,每个属性支持两种滚动到框架中链接方法

> target =“target-iframe”和href =“test.html #activate”
这是回退方法,如果发生错误,或者用户已禁用JavaScript.
链接的目标是框架,href属性必须是框架的路径,后缀为锚点,例如test.hrml #activate.此方法将导致框架页面重新加载.此外,如果锚已经在#activate,则此方法将不再起作用.
>这是优雅的解决方案,不会失败.通过全局框架对象(按名称,不按id,target-iframe)访问所需的框架.然后,选择锚点(document.getElementById(‘activate’).
最后,scrollIntoView方法用于在视口内移动元素.
onclick方法以return false结束,因此默认行为(即在链接之后,导致页面刷新)不会发生.

您当前的代码不起作用,因为缺少名称属性(target="..."无法匹配ID,只能匹配名称).此外,#activate在当前页面的上下文中进行解析,因此,链接指向page-containing-frame.html.

原文链接:https://www.f2er.com/html/224539.html

猜你在找的HTML相关文章