关于iframe的使用

1.父页面调用iframe中元素,并获取值
div =$(“iframe的id”).contents().find(“需要元素的id”);例:

div = $("#bigpic").contents().find("#jizhan");//获取iframe中的id为jizhan的div

2.父页面调用iframe中的js方法
bigpic为iframe的name名;moveLP()为iframe中的js方法名,例:

bigpic.window.moveLP();//调用iframe中的js 方法

父页面

<div id="div">div element</div>

<iframe id="iframe" src="page.html" frameborder="0"></iframe>

<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(function ($) {
    //在页面中查找 iframe 页面元素
    var p = $('#iframe').contents().find('#p').text();
    alert(p);
});

//自定义变量
var hello = 'hello';

//自定义方法
function getHelloWorld() {
    alert('hello world');
}
</script>

子页面

<p id="p">p element</p>

<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(function ($) {
    //在 iframe 中查找父页面元素
    alert($('#div', parent.document).text());
    //在 iframe 中调用父页面中定义的方法
    parent.getHelloWorld();
    //在 iframe 中调用父页面中定义的变量
    alert(parent.hello);
});
</script>

3.在iframe中调用父页面的内容:
3.1.在 iframe 中查找父页面元素,#div为某个标签内的id值

 alert($('#div', parent.document).text());

3.2.在 iframe 中调用父页面中定义的方法

 parent.getHelloWorld();

3.3.在 iframe 中调用父页面中定义的变量

 alert(parent.hello);

当一个页面包含两个iframe时

父页面:

<body>      
 <div id="drawing" style="width:70%;height: 65%;overflow: hidden;float: left;border: 1px solid black;">
<iframe name="bigpic" id="bigpic" frameborder="0" src="appUserContrail/orbit1" style="margin:0 auto;padding:0;" width="100%" height="700" scrolling="no">
</iframe>
</div>
 <div id="drawing" style="width:28.5%;height: 65%;overflow: hidden;float: left;border: 1px solid black;">
<iframe name="table" id="table" frameborder="0" src="appUserContrail/queryAppUserContrail" style="margin:0 auto;padding:0;" width="100%" height="700" scrolling="no">
</iframe>
</div>
</body>

名叫bigpic的iframe页面:

<div id="main">

 <div id="div2">
 <div class="dragAble" id="block1" onMouseOver="dragObj=block1; drag=1;" style="z-index: 10;
  left: 0px;  position: absolute; top: 0px; " onMouseOut=""drag="0">
  <div id='lm_test'  style="zoom: 1.5;z-index: 100000;width: 100%;height: 100%" >
  <img  src="static/img/userContrail/buildground.png" border="0" name="images1"><!-- 显示的大图片 -->
   <div id='move-person' style="position:absolute;width: 20px;height:4%;z-index:z-index: 1000;left:10%;top:12%;display: none;">
   <img src="static/img/userContrail/blueCap.png" style="width: 100%;height: 100%;"><!-- 显示轨迹的小人图标 -->
   </div> 
</div>
 </div>
 </div>
</div>

名叫table的iframe页面现在想要获得bigpic的iframe框架中的id=’lm_test’的div标签的语句是:
名叫table的iframe页面现在想要获得bigpic的iframe框架中的id=’move-person’的div标签的语句是:

1.parent.bigpic.window.document.getElementById('lm_test');
或parent.bigpic.$('lm_test');
2.var Move=parent.bigpic.$('#move-person');

这两个语句总有一个可以生效可以试试看

<think>好的,我现在需要帮助用户解决关于HTML iframe使用方法和相关问题。用户提到了iframe的属性、示例以及如何使用,还引用了三个参考资料,但根据系统指令,这些引用可能不是用户真正的需求,需要结合用户之前的问题和我的回答来考虑。不过目前看来用户是第一次提问,所以主要基于提供的引用内容来回答。 首先,我需要整理用户的问题点:如何使用iframeiframe的属性和示例。根据引用内容,引用1提到了frameborder属性设置为0可以移除边框,并有一个示例。引用2给出了iframe的基本语法和备用内容。引用3列举了scrolling、width、height、frameborder等属性。 接下来,我需要按照用户的要求,结构清晰,分步骤解答,并生成相关问题。同时,需要遵循系统级指令,比如使用正确的LaTeX格式,但用户的问题是关于HTML,可能数学公式较少,不过要注意行内表达式用$...$,独立公式用$$...$$,但这里可能用不上,但需要检查是否有数学内容需要处理。 然后,需要确保回答中使用中文,正确应用引用标识。例如,当提到frameborder属性时,引用引用1和引用3的内容,在末尾添加[^1][^3]。同样,其他属性如scrolling、width、height时,引用引用3的内容[^3]。 用户可能需要具体的示例代码,所以需要提供基本的iframe示例,并解释各个属性的作用。例如,src属性指向URL,frameborder设置边框,width和height设置尺寸,scrolling控制滚动条,name用于链接目标等。 另外,用户的问题可能涉及iframe的常见应用场景,比如嵌入地图、视频或其他网页内容,所以可以给出实际应用的例子,如嵌入Google地图或YouTube视频,并说明如何通过iframe实现。 生成相关问题时,需要围绕iframe使用方法、属性设置、兼容性问题、安全性、替代方案等方面,例如如何调整iframe大小,如何解决跨域问题,iframe与CSS的交互,替代iframe的现代方法等。 需要检查是否有遗漏的重要属性或注意事项,比如sandbox属性用于安全控制,或者srcdoc属性用于直接嵌入HTML内容。不过根据提供的引用,可能没有提到这些,所以可能需要根据常识补充,但需要注明来源是否在引用中。 最后,确保回答符合用户的需求,结构清晰,分点说明,代码示例正确,并自然地添加引用标记。</think>### HTML iframe 使用方法详解 #### 1. 基本语法与核心属性 iframe 用于在当前页面嵌入其他网页,语法结构为: ```html <iframe src="URL" [属性列表]> 浏览器不支持iframe时显示的内容 </iframe> ``` * **src**:指定嵌入页面的URL(必填) * **width/height**:定义尺寸(像素或百分比) 示例:`width="800" height="600"`[^3] * **frameborder**:控制边框显示 `frameborder="0"` 隐藏边框,`frameborder="1"` 显示边框[^1][^3] * **scrolling**:滚动条控制 可选值:`yes`(强制显示)、`no`(隐藏)、`auto`(自动判断)[^3] #### 2. 实用示例 ▍嵌入百度地图 ```html <iframe src="https://map.baidu.com" width="100%" height="400px" frameborder="0" scrolling="auto"> </iframe> ``` ▍作为链接目标(结合name属性) ```html <iframe name="contentFrame" src="default.html"></iframe> <a href="page2.html" target="contentFrame">加载页面2</a> ``` #### 3. 高级技巧 - **自适应高度**:通过JavaScript动态调整 ```javascript window.onload = function() { let iframe = document.getElementById('myFrame'); iframe.style.height = iframe.contentWindow.document.body.scrollHeight + 'px'; } ``` - **安全限制**:使用`sandbox`属性限制权限 ```html <iframe src="external.html" sandbox="allow-scripts"></iframe> ``` #### 4. 兼容性注意事项 所有主流浏览器均支持iframe,但需注意: 1. 移动端浏览器可能限制跨域iframe 2. 部分网站通过`X-Frame-Options`响应头禁止被嵌入 3. 建议始终提供备用内容(如提示文字)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值