C ActiveX呼叫JS函式的便捷方法與思路

2021-06-06 05:25:37 字數 969 閱讀 4492

acitecx雖然是乙個古老而經典的應用技術,但在技術變革日新月異的今天仍然是那麼的實用。缺了它又找不出更適合的技術來代替它。

這不,最近公司某產品的乙個應用場景中,它又被我拉出來操練了一把。

接著難題來了,以前都是js呼叫activex中的函式,從沒在activex中呼叫過js。

後來到google上一搜「c# activex 呼叫js」,找到了乙個呼叫方法。

由於該方法,可通過我提供的關鍵字搜尋獲得,就不再詳細描述。方法中的關鍵步驟如下:

1,宣告 ioleclientsite 和 iolecontainer 兩個介面。

2,通過一系列的轉換,獲得 ihtmldocument 和 ihtmlwindow2 。

3,呼叫js函式。

該方法是乙個穩紮穩打的方法,值得大家學習。在理解了該方法後,我總結了一下其關鍵點就是獲得ihtmlwindow2。

本人是乙個懶惰蟲,在了解其關鍵點後,將其方法做了精簡,在此與大家分享。廢話不多說,上**。

思路:

1,通過js將ihtmlwindow2直接傳入,省去一大堆宣告與轉換**。直接切入重點。

2,呼叫語法採用js語法,方便書寫與理解。

**:

js**如下

c#**如下

注意:專案必須引用microsoft.mshtml。

using mshtml;

public void setfunc(object win, string func)

else

);//方法2。

string jscode = string.format("('')", func, "引數");

htmlwin.execscript(jscode, "jscript");

}}

js 函式的呼叫

function jc n else 此處也就是函式jc n var result jc 10 方法一 函式名 實參列表 console.log result function foo a,b,c foo 1,2,3 foo.call 1,2,3 方法二 函式名.call 執行環境物件,實參列表 此...

js函式的呼叫

一 函式 1.輸入兩個,再輸入運算子,得到結果 view code 自定義函式 view code 2.如果其他的檔案需要使用函式怎麼做?myfunction.jsp function jisuan num1,num2,operaor else return result view code htm...

js函式的呼叫

j ascript函式有四種呼叫方法,每種方式的不同在於this的初始化。1 作為乙個函式呼叫,預設為全域性物件。this的值為全域性物件 在 html 中預設的全域性物件是 html 頁面本身,所以函式是屬於 html 頁面。在瀏覽器中的頁面物件是瀏覽器視窗 window 物件 以上函式會自動變為...