none
IE9浏览器如何调整设置,才能通过[Microsoft Internet controls]实现对浏览器的控制? RRS feed

  • 问题

  • 单位是内网,系统是WIN7 32,默认浏览器是IE8,在vba里,利用[Microsoft Internet controls],可以正常操作网页点击,填充,下载等,但是升级到IE9以后,在有框架(frames)的时候,就会报错, 【运行时错误,     方法‘frames'作用于对象’JScriptTypeInfo'时失败】,失败的代码包含frames ,如      对象.Document.frames(0).document.get.......   
    不含 frames的时候正常。如果将浏览器模式、文档模式都改成IE8,则能正常运行,【但是】这个不具有记忆功能,每次打开浏览器都要设置一下。兼容性模式无法解决问题。请问通过什么方法,在浏览器为IE9下,能够改个什么设置,就能让代码正常运行,不用每次都去修改浏览器模式、文档模式??
    2016年10月19日 2:38

全部回复

  • 你好,

    据我所知有两种方式可以改变IE版本,

    第一种修改注册表:

    具体操作方法如下:

    1、在开始菜单内输入“regedit.exe”,进入注册表编辑器
    2、找到注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
    3、在右侧空白区域内单击鼠标右键,点击【新建】→【DWORD(32-位)值】
    4、新建的项取名为TestWebBrowser.exe,编辑值时,选择基数“十进制”,填写数值数据,这里填写8888

    第二种可以在网页中指定IE的默认版本,具体代码如下:

    <meta http-equiv="X-UA-Compatible" content="IE=8" > <!-- IE8 mode -->

    具体链接:https://msdn.microsoft.com/zh-cn/library/cc288325(v=vs.85).aspx

    2016年10月19日 5:31
  • 你好,第一种办法我此前已尝试,无效。可能是因为此方法仅适用于webbrowser

    第二种修改网页的办法,我是客户机,没有权限。

    谢谢您,能不能通过在IE选项里直接改动什么来做??

    2016年10月20日 2:37
  • 你好,

    这个问题其实是VBA的代码问题,ie里面有个frames属性可以获得iframe但是这个属性只支持到IE8。

    最好的办法就是修改代码,使用getElementsByTagName方法来获取节点。


    至于在IE9中永远保持使用IE8内核,据我所知好像没有。

    我建议你还是联系开发人员修改下代码比较好。

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2016年10月24日 13:25