[英]How can I grab JavaScript code from a .js file on local drive and run it in IE11?
[英]Run CATscript from IE11 with Javascript
代碼CATIA.SystemService.ExecuteScript(sPath, 0, sName + ".CATScript", "CATMain", aParams) ;
拋出錯誤類型不匹配,而且我不了解,因為在IE11(我知道,但我必須)調試器中, CATIA.SystemService的監視為我提供了方法ExecuteScript的相同參數列表,並且此調用在VBscript中有效。 如何獲取有關參數類型的詳細信息? 我怎么知道哪個var導致此錯誤? 我所有的變量都被聲明(使用嚴格)。
我試圖弄清楚如何使用HTML接口保存大量函數來運行CATscript(Catia宏,類似於VBscript),這些是通過VBscripts啟動的,從我公司從IE8過渡到IE11(此處沒有選擇) 。 正如在MSDN中和此處在Stackoverflow中所討論的(顯然,我已經嘗試了所有解決方案,並且兼容性設置不可激活),IE11中停止了對VBscript的支持。
我有2種功能:有些是靜態的,並存儲在我們的Intranet網站上。 他們仍然可以在IE11上運行(如果我了解的話,可以使用Edge模式,盡管我找不到確切的含義)
但是其他一些則是在用戶計算機上即時編寫的,以生成反映Catia當前內容的界面。 那些在IE11上不再可用,並且是最重要的。 看來它們被視為“ Internet區域”,由於它們是本地編寫的,所以我不明白。 是為了防止惡意軟件?
這是我從HTML調用函數的方式:
<input type='button' value='00-10' onclick='StartScript(me)' id='import-zip-from-DB'/>
這是VBscript(簡化但實用):
Sub StartScript(button)
Dim aParams()
Dim sName
Dim sPath
Dim CATIA
sName = button.Id
sPath = "C:\temp\"
'Get Catia object
Set CATIA = GetObject(, "CATIA.Application")
'run the script in catia
On Error Resume Next
CATIA.SystemService.ExecuteScript sPath, 1, sName & ".CATScript", "CATMain", aParams
If Err.Number <> 0 Then MsgBox Err.Description, vbCritical, "QC2 toolset"
On Error GoTo 0
End Sub
我已經嘗試過Javascript,它的功能非常相似。 獲取Catia對象的代碼是var CATIA = new ActiveXObject("CATIA.Application");
提前致謝!
我終於找到了解決方案!
這不是我最喜歡的答案,但是將文件從file.html重命名為file.hta允許我的功能在用戶工作站上再次運行,因為這些文件現在已由Microsoft HTML Application主機打開。 主要缺點:CSS格式不如IE優秀,但這是專業工具上的一個小問題
因此,如果任何人都有不涉及HTA文件的解決方案,那肯定會替代我的工具集上的此變通辦法,但現在我很放心:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.