大家帮忙看下为什么内嵌IE无法打开js脚本网页 (已解决)
本帖最后由 sellkingfly 于 2017-4-14 15:12 编辑http://d3.decembercafe.org/demo/rm/lesson8/Chart.html
在内嵌IE打开这个网页时出现如下错误:
是因为内嵌的IE无法运行JS脚本吗,要如何才能成功的运行js脚本。
用的是如下从论坛搜索到的程序#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ie.au3>
$oIE = ObjCreate("Shell.Explorer.1")
#Region ### START Koda GUI section ### Form=
$GUIMain = GUICreate("GUIMain", 800, 600, 0, 0)
GUICtrlCreateObj($oIE, 0, -0, 800, 600)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$EventObject=ObjEvent($oIE,"IEEvent_","DWebBrowserEvents")
$URL = "http://d3.decembercafe.org/demo/rm/lesson8/Chart.html"
$oIE.Navigate( $URL )
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func IEEvent_NewWindow($ppDisp,$Cancel)
Local $o_Shell = ObjCreate("Shell.Application")
Local $o_ShellWindows = $o_Shell.Windows(); collection of all ShellWindows (IE and File Explorer)
For $i = $o_ShellWindows.Count-1 To 0 Step -1
If $o_ShellWindows.item($i).LocationURL==$ppDisp Then
$o_ShellWindows.item($i).quit()
EndIf
Next
$oIE.Navigate( $ppDisp )
EndFunc
测试了一下,ie是兼容模式打不开
http://d3.decembercafe.org/demo/rm/lesson8/Chart.html
。。。用的是极速模式可以打开。。。
明显是网站问题,不是IE问题 把js下下来看看~~~~~~ 本帖最后由 chamlien 于 2017-4-14 01:17 编辑
默认内置IE对该js不兼容,以下代码强制内嵌IE版本为本机最高版本IE (测试本地打开IE9以下都不兼容该js),当然客户端IE最高版本要10或11才行。
au3内嵌IE出现js错误,一般都是因为不兼容造成的。但是在IE浏览器打开,某个元素不兼容会console出来,而在au3上就弹窗提示js所在的错误行。
没仔细去看IE.au3内置函数,应该可以在IE.au3上找到解决方案。但个人认为,js文件不兼容,本身应该就是写该js的人没有做好兼容性检查,所以不是au3的错。
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ie.au3>
#include <process.au3>
Local $regValue = "1"
RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION", _ProcessGetName(@AutoItPID), "REG_DWORD", $regValue)
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION", _ProcessGetName(@AutoItPID), "REG_DWORD", $regValue)
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Wow64\32Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION", _ProcessGetName(@AutoItPID), "REG_DWORD", $regValue)
$oIE = ObjCreate("Shell.Explorer.1")
#Region ### START Koda GUI section ### Form=
$GUIMain = GUICreate("GUIMain", 800, 600, 0, 0)
GUICtrlCreateObj($oIE, 0, -0, 800, 600)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$URL = "http://d3.decembercafe.org/demo/rm/lesson8/Chart.html"
$oIE.Navigate($URL)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
楼上正解,内嵌IE默认的好像是ie7 回复 4# chamlien
多谢!多谢!
完美解决哈!
页:
[1]