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);
}
阅读(250) | 评论(0) | 转发(0) |