http://bugs.winehq.org/show_bug.cgi?id=26546
Summary: Buitin IE cannot run some methods of ActiveX controls from ICBC online bank Product: Wine Version: 1.3.16 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: mshtml AssignedTo: wine-bugs@winehq.org ReportedBy: fracting@gmail.com
First, write a html named safeEdit1.getLength.html like below:
<object id="safeEdit1" classid="CLSID:73E4740C-08EB-4133-896B-8D0A7C9EE3CD" codebase="/icbc/newperbank/AxSafeControls.cab#version=1,0,0,13" height="21" width="145"></object> <script type="text/javascript"> function write_result(){ var div_result = document.getElementById("result"); var object_test = document.getElementById("safeEdit1"); div_result.innerHTML += object_test.getLength(); } </script> <div> <a href="javascript:write_result();">write result </a> </div> <div id="result"></div>
Second, regist the ActiveX control of ICBC : $ winetricks -q mfc42 # Please use the latest winetricks # see http://code.google.com/p/winetricks/issues/detail?id=9 for details.
$ wget --timestamping 'https://mybank.icbc.com.cn/icbc/newperbank/AxSafeControls.cab#version=1,0,0,...' $ cabextract AxSafeControls.cab $ regsvr32 InputControl.dll
Third, open safeEdit1.getLength.html with builtin IE, type some char to the "safeEdit" control, and then click the "write result" link. Normally, there will be some output to the "result" div, that is the length of the string we have typed. However, it doesn't work on builtin IE.
the log is like this: fixme:mshtml:nsURI_GetAsciiHost Use Uri_PUNYCODE_IDN_HOST flag
Wine MS IE and Windows IE will work.
getLength() may be a function from InputControl.dll $ strings InputControl.dll | grep getLength XgetLengthWWW method getLengthWW