IE9中IE9文档模式 MSHTML.IDispatch.GetIDsOfNames 无法得到IDs

擒兽 2011-01-06 08:57:31
使用 MSHTML.IHTMLWindow2.execScript 插入了一段JavaScript,其中包含某函数。

在IE6、7、8中,使用MSHTML.IDispatch.GetIDsOfNames找到函数,后再使用MSHTML.IDispatch.Invoke执行,一切正常。

但是在IE9中IE9文档模式时,MSHTML.IDispatch.GetIDsOfNames找不到函数,异常 COMError: -2147352570 未知名称。
通过微软自带的IE开发者工具查找函数并执行,一切正常。那么MSHTML.IHTMLWindow2.execScript是通过了,关键就是MSHTML.IDispatch.GetIDsOfNames这里的问题了。

这种情况哪位先行者遇到过? 是不是IE9的新的安全机制? 我主要目的是调用WEB内的JavaScript,白盒测试。
...全文
793 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
kkkkkqqqqq55555 2013-08-14
  • 打赏
  • 举报
回复
楼主找到解决方法了吗?我也遇到这个问题急需解决,望不吝赐教。 扣扣邮箱 984262753@qq.com
flyingfish863 2013-01-22
  • 打赏
  • 举报
回复
虽然是两年前的帖子,但碰到同样的问题,贴出解决问题的链接 http://stackoverflow.com/questions/5153702/reading-js-variable-from-bho-in-ie9
擒兽 2011-01-10
  • 打赏
  • 举报
回复
此问答已转至微软论坛:http://social.microsoft.com/Forums/zh-CN/267/thread/d4e30c34-3cdc-448c-9e07-f2785020591c

此贴散分,欢迎顶帖,顶的都有。
擒兽 2011-01-10
  • 打赏
  • 举报
回复
看样子只能等正式版IE9了
dianyancao 2011-01-08
  • 打赏
  • 举报
回复
谢谢帮助
擒兽 2011-01-07
  • 打赏
  • 举报
回复
目前发现GetIDsOfNames可以找到window和document的ID

但是HTML内混合编写的JavaScript成员不能得到ID,报错“未知名称”。尝试获取eval的ID也是失败。

问题继续存在,希望能被解惑。谢谢。
擒兽 2011-01-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dianyancao 的回复:]
不是,你的脚本文件是放在本地,还是网络上?
[/Quote]

你可能不了解win32API和COM技术,这个肯定是在本地。 不过还是谢谢你。
dianyancao 2011-01-07
  • 打赏
  • 举报
回复
不是,你的脚本文件是放在本地,还是网络上?
擒兽 2011-01-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dianyancao 的回复:]
不懂,发到Java版问问,可以用URL地址调用这个脚本吗?
[/Quote]

谢谢楼上的。

这个跟Java无关,隶属于Win32API和Win32COM,也算属于安全。
dianyancao 2011-01-07
  • 打赏
  • 举报
回复
不懂,发到Java版问问,可以用URL地址调用这个脚本吗?

9,513

社区成员

发帖
与我相关
我的任务
社区描述
Windows专区 安全技术/病毒
社区管理员
  • 安全技术/病毒社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧