js 调用iframe内的方法
一、背景介绍
在网页开发中,经常会使用iframe标签来嵌入其他网页或者页面片段。但是,如果需要在主页面中调用iframe内部的方法,就需要使用JavaScript来实现。
二、获取iframe对象
要调用iframe内部的方法,首先需要获取到iframe对象。可以通过以下代码实现:
```javascript
var iframe = ElementById('myIframe');
```
其中,'myIframe'是iframe标签的id属性值。
三、获取iframe内部window对象
获取到iframe对象后,需要获取到其内部的window对象。可以通过以下代码实现:
```javascript
var iframeWin = tWindow;
```
其中,contentWindow是iframe对象的一个属性,表示该iframe所包含的窗口(即其内部window对象)。
四、调用方法
获取到了iframe内部的window对象后,就可以直接调用其中定义的方法了。例如,在子页面中定义了一个名为test()的函数,在主页面中就可以通过以下代码来调用它:
```javascript
st();
```
五、注意事项
1. 调用跨域的子页面中定义的方法时会报错。因为浏览器出于安全考虑不允许跨域访问。
2. 在IE浏览器下,由于其安全机制限制,在访问跨域子页面时可能会出现“拒绝访问”错误。
3. 获取到子页面window对象后要确保该窗口已经加载完成,否则可能会出现访问不到子页面中定义的方法的情况。
六、完整代码示例
```html
<!DOCTYPE html>
<html>
<head>
    <title>调用iframe内部方法示例</title>
</head>
<body>
   
    <iframe id="myIframe" src="child.html"></iframe>
js调用方法的三种写法
    <script type="text/javascript">
        load = function() {
            // 获取iframe对象
            var iframe = ElementById('myIframe');
            // 获取iframe内部window对象
            var iframeWin = tWindow;
            // 调用子页面中定义的test()函数
            st();
        }
    </script>
</body>
</html>
```
七、总结
通过以上步骤,我们可以在主页面中调用嵌入的子页面中定义的方法。但是需要注意安全问题和跨域问题。同时,在获取到子页面window对象后要确保该窗口已经加载完成,以避免出现访问不到子页面中定义的方法的情况。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。