在 Winform 中如何调用宿主网页的 JS 函数?

在 winform 中如何调用宿主网页的 js 函数?

在 winform 中调用宿主网页 js

在将 winform 界面嵌入 html 页面之后,winform 能够调用 html 页面的 js,可以通过以下步骤实现:

首先,在 winform 的代码中使用 system.runtime.interopservices.axhost.axhost.getcontrol() 方法,将 html 页面中的 js 对象作为 t 类型获取。

例如:

        [comimport, guid("3050f61c-98b5-11cf-bb82-00aa00bdce0b")]
        [interfacetype(cominterfacetype.interfaceisiunknown)]
        internal interface ihtmldocument
        {
            object getelementbyid([marshalas(unmanagedtype.bstr)]string id);
        }

        // 获取 js 对象
        public object getjselement()
        {
            return getcontrol<ihtmldocument>("html_element_id").getelementbyid("js_function_name");
        }

然后,使用 invokemember() 方法调用 js 对象中的函数。

例如:

        // 调用 JS 函数
        public string CallJSFunction(string arg1, string arg2)
        {
            var element = GetJSElement();
            object[] args = new object[] { arg1, arg2 };
            return element.InvokeMember("JS_FUNCTION_NAME", BindingFlags.InvokeMethod, null, null, args) as string;
        }

通过以上步骤,winform 可以成功调用 html 页面中的 js 对象和函数。

以上就是在 Winform 中如何调用宿主网页的 JS 函数?的详细内容,更多请关注其它相关文章!