Xilium.Cefglue,c#与JS代码互调


Xilium.Cefglue,c#与JS代码互调
资源截图
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;

namespace TestJsCall
{
    public class CefjavascriptEx
    {
        /// 
        /// 利用反射,将对象的属性、方法映射成注册JS方法的脚本,
        /// object obj 需要被映射的对象,
        /// String jsName JS调用的对象名称,
        /// return String 返回注册JS的脚本
        /// 

        /// 需要被映射的对象
        /// JS调用的对象名称
        /// 返回注册JS的脚本
        public static String CreateJsCodeByobject(object obj String jsName)
        {
            String jsCode = “function “ + jsName + @“() {}
                if (!“ + jsName + “) “ + jsName + @“ = {};
                (function() {“;

            try
            {
                Type objType = obj.GetType();
                MethodInfo[] methods = objType.GetMethods();
                String pm = ““ fname = ““ func = ““;
                for (int i = 0 j = methods.Length; i < j; i++)
                {
                    pm = ““;
                    fname = methods[i].Name;
                    ParameterInfo[] param = methods[i].GetParameters();
                    for (int k = 0 x = param.Length; k < x; k++)
                    {
                        pm += “arg“ + k;
                        if (k < (x - 1))
                        {
                            pm += “ “;
                        }
                    } 
                    func = jsName + “.“ + fname + “ = function(“ + pm + @“) {
                        native function “ + fname + “(“ + pm + @“);
                        return “ + fname + “(“ + pm + @“);
                    };“;
                    
                    jsCode += func;
                }
               
            }catch(Exception e){
                System.Windows.Forms.MessageBox.Show(e.Message);
            }            

            jsCode += @“})();“;
            return jsCode;
        }
        
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-03-14 00:16  TestJsCall
     目录           0  2015-03-14 00:55  TestJsCallTestJsCall
     文件         187  2015-03-14 00:16  TestJsCallTestJsCallApp.config
     文件        2216  2015-03-14 00:55  TestJsCallTestJsCallCefjavascriptEx.cs
     文件        4341  2015-03-14 00:24  TestJsCallTestJsCallCefJsV8Handler.cs
     文件         630  2015-03-14 00:24  TestJsCallTestJsCallCefWebApp.cs
     文件         846  2015-03-14 00:54  TestJsCallTestJsCallDemoRenderProcessHandler.cs
     文件        5918  2015-03-14 00:51  TestJsCallTestJsCallForm1.Designer.cs
     文件        1534  2015-03-14 00:51  TestJsCallTestJsCallForm1.cs
     文件        6015  2015-03-14 00:51  TestJsCallTestJsCallForm1.resx
     文件        1195  2015-03-14 00:24  TestJsCallTestJsCallJsEvent.cs
     文件        2199  2015-03-14 00:52  TestJsCallTestJsCallProgram.cs
     目录           0  2015-03-14 00:16  TestJsCallTestJsCallProperties
     文件        1344  2015-03-14 00:16  TestJsCallTestJsCallPropertiesAssemblyInfo.cs
     文件        2872  2015-03-14 00:16  TestJsCallTestJsCallPropertiesResources.Designer.cs
     文件        5612  2015-03-14 00:16  TestJsCallTestJsCallPropertiesResources.resx
     文件        1097  2015-03-14 00:16  TestJsCallTestJsCallPropertiesSettings.Designer.cs
     文件         249  2015-03-14 00:16  TestJsCallTestJsCallPropertiesSettings.settings
     文件        4673  2015-03-14 00:25  TestJsCallTestJsCallTestJsCall.csproj
     目录           0  2015-03-14 00:16  TestJsCallTestJsCallin
     目录           0  2015-03-14 00:27  TestJsCallTestJsCallinDebug
     文件      114688  2012-08-27 17:26  TestJsCallTestJsCallinDebugICSharpCode.SharpZipLib.dll
     文件       15872  2015-03-14 00:51  TestJsCallTestJsCallinDebugTestJsCall.exe
     文件         187  2015-03-14 00:16  TestJsCallTestJsCallinDebugTestJsCall.exe.config
     文件       42496  2015-03-14 00:51  TestJsCallTestJsCallinDebugTestJsCall.pdb
     文件       24224  2015-03-14 00:20  TestJsCallTestJsCallinDebugTestJsCall.vshost.exe
     文件         187  2015-03-14 00:16  TestJsCallTestJsCallinDebugTestJsCall.vshost.exe.config
     文件         490  2013-06-18 20:28  TestJsCallTestJsCallinDebugTestJsCall.vshost.exe.manifest
     文件       23040  2015-03-12 23:37  TestJsCallTestJsCallinDebugXilium.CefGlue.Demo.dll
     文件       26624  2015-03-11 20:23  TestJsCallTestJsCallinDebugXilium.CefGlue.WindowsForms.dll
     文件      547328  2015-03-12 23:28  TestJsCallTestJsCallinDebugXilium.CefGlue.dll
............此处省略29个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)