【JAVASCRIPT】获取触发MESSAGE事件的源IFRAME

先让发送源获取焦点,然后获取焦点元素。

window.addEventListener(‘message‘,function(msg){
    //做一些事来判断是不是某个iframe发送的消息
    msg.source.focus();
    var sourceFrame=document.activeElement;
});

如果不想影响焦点的话,可以遍历一遍所有的iframe

function findIframe(win){
    var fs=document.querySelectorAll(‘iframe‘);
    for(var is=fs.length;is--;){
        if(fs[is].contentWindow==win)
            return fs[is];
    }
}

window.addEventListener(‘message‘,function(msg){
    var iframe=findIframe(msg.source);//获取消息源
});
时间: 2024-10-11 12:58:54

【JAVASCRIPT】获取触发MESSAGE事件的源IFRAME的相关文章

JavaScript获取事件对象和目标对象

在JavaScript开发中,经常需要获取触发某个事件的目标对象.让后根据目标对象进行不同的业务处理.下面展示通过JavaScript获取触发事件的事件目标对象.如下: Js代码 1 2 3 4 5 6 7 8 9 10 window.onload = function(){     var obj = document.getElementById("test");        obj.onclick = function(event){       // W3C的event对象直

IE10、Chrome获取触发事件节点的源对象

记录学习JavaScript中遇到的知识点 1.IE中获取触发事件节点的源对象是通过属性srcElement,而Chrome则是以属性tagName获得.以如下函数getEventTarget(e)实现源对象的获取. 1 <script tyoe="text/JavaScript"> 2 //获取触发事件节点的源对象 3 function getEventTarget(e){ 4 e=window.event || e; 5 return e.srcElement || e

javascript和jquery 获取触发事件的元素

一个很简单的问题,却因为大意,经常忘了处理,导致程序运行出错. <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <body> <ul> <li> <ul> <li>listone</li> <li>listtwo

javascript获取窗口位置、绝对位置、事件位置等

有段时间没更新博客了,工作实在太忙了,加班加班再加班就是我们这个行业的常态吧...还好最近把工作进度完成了,终于有些空余时间了.关于<Javascript高级程序设计>系列,我并没有弃坑,只不过最近在把这本书读第二遍,主要针对一些第一遍没看懂的部分,完成之后我会继续更新的. 这篇文字主要一下三方面内容: 一.javascript获取事件位置 二.Javascript获取dom对象位置 三.Javascript获取绝对坐标 四.浏览器相对桌面位置 一.javascript获取事件位置 首先上图,

javascript中点击鼠标右键触发的事件

javascript中事件有很多种,这里只谈一个很有用,但不常见的事件. 单击鼠标右键触发的事件contextmenu事件. document.oncontextmenu=function(){ return false; } 这样就可以屏蔽掉鼠标右击的事件.当然如果需要什么效果也可以在事件监听函数中添加.

JavaScript 触发click事件 兼容FireFox,IE 和 Chrome

解决了火狐下无法触发click事件的问题 <script language="javascript"> function test2(name) { if(document.all) { document.getElementById(name).click(); } else { var evt = document.createEvent("MouseEvents"); evt.initEvent("click", true, t

获取路由事件的源Source和OriginalSource

路由事件的消息包含在RoutedEventArgs实例中,该实例有两个属性Source和OriginalSource,都是表示路由事件传递的起点,即事件消息的源头,只不过Source表示的是LogicalTree上的消息源头,而OriginalSource表示的是VisualTree上的源头. 主要代码如下: public MainWindow() { InitializeComponent(); this.AddHandler(Button.ClickEvent, new RoutedEven

javascript 获取iframe元素的方法

javascript  获取iframe元素的方法 第一种: $("#IframeID").contents().find("div"); 第二种: $(window.frames["IframeID"].document).find("div"); 父窗口: $(window.parent.document).find("div");

第5章7节《MonkeyRunner源码剖析》Monkey原理分析-启动运行: 循环获取并执行事件 - runMonkeyCycles(原创)

天地会珠海分舵注:本来这一系列是准备出一本书的,详情请见早前博文"寻求合作伙伴编写<深入理解 MonkeyRunner>书籍".但因为诸多原因,没有如愿.所以这里把草稿分享出来,所以错误在所难免.有需要的就参考下吧,转发的话还请保留每篇文章结尾的出处等信息. Monkey启动之后需要在整个MonkeyRunner的测试生命周期中提供服务,也就是说,一旦我们调用monkeyrunner命令来执行指定的测试脚本的时候,只要monkeyrunner还没有退出,那么Monkey就会