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 为什么我写出来的绘图程序是这样的,有没有lao哥改一下
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败