日期:2014-05-16  浏览次数:20386 次

网页a.htm打开b.hta,b怎么调用a页面的函数或操作a页面的元素。
就是打开了本地的hta,怎么捕获浏览器某个页面,因为hta是一个应用程序,所以即使在a页面用window.open打开hta,这个hta也不是在浏览器中运行,所以不知道能不能捕获这个a页面,让a.htm和b.hta可以来回操作。

------解决方案--------------------
本地的hta 有跨域操作权限问题吧
------解决方案--------------------


 var d = window.open("b.hta");

 就可以用 d.document.getElementById() 等方法去获取页面对象了

------解决方案--------------------
HTA在MSHTA进程中
HTM在IEXPORER进程中,

普通地,无法进行互相通讯。
------解决方案--------------------
hta没有跨域限制可以直接操作.但可能没有session.
所以一定要通过window.open()打开一个IE浏览器来获取session .
当然可以通过 var ss = window.open();来获取被打开的页面的window元素.
剩下的就可以象操作普通的DOM.那样去操作任何元素了.
------解决方案--------------------
打开与被打开页面关系,是指在页面中打开了一个新的页面,这时就应该使用 :window.opener

如修改原页面id名为“table”的背景可以用:
window.opener.document.getElementById("table").background="lybimg/16.GIF";