qq_28165079 2017-02-08 09:47 采纳率: 0%
浏览 1453

ScriptControl加载脚本内置对象,提示内置对象未定义

////////////c#代码加载脚本,调用方法///////////////////
ScriptControl msc = new ScriptControl();
msc.Language = "javascript";
msc.UseSafeSubset = false;
msc.AllowUI = true;
try
{
string js= Pur.Utility.FileHelper.ReadFile(System.Environment.CurrentDirectory + "\RSAEncerpt.js", Encoding.UTF8);
Console.WriteLine(js);
Console.WriteLine("读取js成功");
msc.AddCode(Pur.Utility.FileHelper.ReadFile(System.Environment.CurrentDirectory + "\RSAEncerpt.js", Encoding.UTF8));
//RSAEncerpts加密方法
object o = msc.Eval("RSAEncerpts('q950301.', 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCEKu2Fc233FMyxtgQZSS6+b/7rIquYbTWfJM5kOkJDVDUe9UD8WSgj3hpXumLxiK2eUJFutCYRpch4GqplPVejYz/LRb6/Zapu+LrVMbmE0aU8AYfs0uemkVUHkMVnJWi3oUOVUMf3AroZ4UJctwawl2b98suKOwdjTk7Lywb6kwIDAQAB')");
Console.WriteLine(o);//异常,未定义navigator,window
Console.WriteLine(msc.Eval("'a+b'");
Console.WriteLine(msc.Eval("navigator.appName+\":\"+navigator.userAgent"));//异常,未定义navigator
}
catch(Exception e)
{
Console.WriteLine(msc.Language);

Console.WriteLine("js加密错误"+e.StackTrace+"\n"+e.Message);
}
Console.ReadKey();

  • 写回答

1条回答 默认 最新

  • threenewbee 2017-02-08 21:21
    关注

    navigator,window都是浏览器对象,你可以用webbrowser代替scriptcontrol

    评论

报告相同问题?

悬赏问题

  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错