Chinaunix首页 | 论坛 | 博客
  • 博客访问: 139710
  • 博文数量: 124
  • 博客积分: 70
  • 博客等级: 民兵
  • 技术积分: 1745
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-24 13:49
文章分类

全部博文(124)

文章存档

2011年(55)

2010年(14)

2009年(30)

2008年(25)

我的朋友

分类: WINDOWS

2011-06-13 14:58:08

http://blogold.chinaunix.net/u/18544/showart.php?id=2534451
这篇文章是写了如何让所有的自定义page访问某个全局的page。

这篇文章讲js中注入frames,windows这些的识别过程。

随着后续的开发,发现有更进一步的需求,比如联系人页面打开了一个历史聊天记录框,后者的内容可以随着联系人列表选择的人的变化而变化,所以这就提出了这两个page最好能够直接交互,否则通过一个中间page一个是效率低,另外一个是不方便。

附件是在标准的qt4.7.2 的基础上的修改。

文件:qtwebkit_patch2.rar
大小:2KB
下载:下载


修改的原理是:

1. 在wndmgr的createhostwnd方法实现中,判断如果待创建的窗口不是全局窗口,那么将这个窗口添加为全局窗口的子窗口,同事将子窗口的frametree。name设为wndname。

2. 在窗口销毁时候,将自己从global窗口中删除。


这个修改结束后,就可以在一个hostwnd中写类似如下代码:

var childwnds = globalctx.hostwnds;
        for (var i = 0; i < childwnds.length; i++) {
            alert(childwnds[i].name);
            
        }

阅读(230) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~