导航:首页 > 编程语言 > iframejs

iframejs

发布时间:2023-06-27 04:38:09

① 页面如何在加载的时候就调用iframe内的js方法

其实iframe是一个独立的页面,与父页面是嵌套但变量独立的关系。所以iframe加载时,如果js方法不涉及操作文档对象(DOM),就直接调用;如果该js方法涉及操作dom,就添加window.onload事件触发函数处理,在处理函数内调用js方法

② js中监听iframe点击事件

在js中,需要监听iframe的点击事件,但是因为浏览器的同源策略,是无法监听到的,只能另辟蹊径去解决它

注意,仅限于pc网站,意思就是必须要有鼠标移入移出iframe的操作

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<title>Detect IFrame Clicks</title>

<script src="./jquery-3.4.1.min.js"></script>

<script type="text/javascript">

    $(document).ready(function() {

        var currentObj=Object

        var isOverIFrame = false;

        function processMouseOut(e) {

            console.log('out iframe',e.target);

            currentObj=e.target

            isOverIFrame = false;

            top.focus();

        }

        function processMouseOver(e) {

            // log("IFrame mouse >> OVER << detected.");

            console.log('in iframe',e.target);

            currentObj=e.target

            isOverIFrame = true;

        }

        function processIFrameClick(event) {

            if(isOverIFrame) {

                console.log('click iframe',event.target,currentObj);

            }

        }

        function attachOnloadEvent(func, obj) {

            if(typeof window.addEventListener != 'undefined') {

                window.addEventListener('load', func, false);

            } else if (typeof document.addEventListener != 'undefined') {

                document.addEventListener('load', func, false);

            } else if (typeof window.attachEvent != 'undefined') {

                window.attachEvent('onload', func);

            } else {

                if (typeof window.onload == 'function') {

                    var oldonload = onload;

                    window.onload = function() {

                        oldonload();

                        func();

                    };

                } else {

                    window.onload = func;

                }

            }

        }

        function init() {

            var element = document.getElementsByTagName("iframe");

            for (var i=0; i<element.length; i++) {

                element[i].onmouseover = processMouseOver;

                element[i].onmouseout = processMouseOut;

            }

            if (typeof window.attachEvent != 'undefined') {

                top.attachEvent('onblur', processIFrameClick);

            }

            else if (typeof window.addEventListener != 'undefined') {

                top.addEventListener('blur', processIFrameClick, false);

            }

        }

        attachOnloadEvent(init);

    });

</script>

</head>

<body>

<iframe src="https://www.hao123.com" width="80%" height="600px"></iframe>

<iframe src="https://www..com" width="80%" height="600px"></iframe>

</form>

</body>

</html>

复制上边整段html,打开console控制台,即可解决这个问题,亲测好用

③ iframe中的页面怎么引用js文件

调用父窗口函数
window.parent.POPUP('bigFram');
父窗口调用iframe子窗口方版法权
<iframe name="myFrame" src="child.html"></iframe>
myFrame.window.functionName();
iframe子窗口调用父窗口方法
parent.functionName();
用js互相调用iframe页面内的js函数。

④ js如何关闭弹出的iframe

首先iframe中的页面应该与父页面是同域页面,否则跨域的话js无法控制iframe中的内容。版
如果父页面与框架中的页面时权同域的,可以通过改变a标签的href属性来实现:

1

<a href="javascript:return false;" onclick="window.open('http://..com/','_self')" target="_blank">猛戳这里</a>

这样实际是把原来链接的作用取消,然后给a标签绑定js的window.open方法打开页面,target也就不起作用了。

⑤ js如何操作iframe的跨域问题

A域名下的页面index.htm中内嵌了一个iframe页面,iframe内引用的是B域名的sub-index.htm页面,但是为了避免出
现在index.htm页面中出现滚动条,需要明确知道sub-index.htm页面的高度和宽度,可是sub-index.htm的页面内容是不可控的,可能会根据不同用户页面大小会不一样;问题就是如何把sub-index.htm页面的高度和宽度传递给index.htm页面?

具体解决:
1、在index.htm页面中声明一个js函数process(height, width);用来实现设置页面内iframe的高度和宽度;
2、
在sub-index.htm页面中再内嵌一个隐藏的iframe,iframe的src指向A域名下的页面ex.htm?height=xx&
width=yy,该页面没有任何内容,只是用来传递sub-index.htm页面加载完之后的宽度和高度这两个数据的,页面内js拿到request
中的参数之后直接调用parent.parent.process(height, width);完成对父页面宽度和高度的设置;
如图:

⑥ 如何用js打印 iframe里面的内容

varf=document.getElementById('iframe-id');//获取到iframe标签元素
varwin=f.contentWindow;//iframe中的window对象
vardoc=f.contentDocument;//iframe中的document对象
vartext=doc.getElementsByTagName("html")[0].innerHTML;//获取html标签下的内容

⑦ 如何用JS获取iframe里面的内容

js 跨域名是取不到iframe里的信息的, 除非同一个域名下.
如果是同一个域名下的.
var win = document.getElementById('frmid').contentWindow;
var frmobj = win.document.getElementById('控件');

阅读全文

与iframejs相关的资料

热点内容
java监听器延时 浏览:726
itunes备份包含微信聊天记录 浏览:20
怎么向虚拟机传文件 浏览:677
win10怎么用软件激活不了 浏览:816
美版a1453是什么版本 浏览:517
电脑里的文件夹按照拼音归类 浏览:996
文件管理器怎么把视频压缩成文件 浏览:477
标准化文件名称包括哪些 浏览:85
win10不能读取dll文件 浏览:882
云骑士重装系统找不到usb字样文件 浏览:42
皖事通app社保年限在哪里看 浏览:65
为什么快影显示没网络 浏览:356
华为如何让手机升级提醒红1消失 浏览:345
我爱九九商城app 浏览:587
剑灵苍穹武器升级 浏览:248
微信钱包微粒贷 浏览:654
滚动字幕屏找不到文件 浏览:990
郑州青少年学编程哪个机构比较好 浏览:866
ps文件打开不是彩色的 浏览:781
监控硬盘格式化工具 浏览:512

友情链接