locked
请问silverlight 怎么才能执行 Jscript RRS feed

  • 问题

  • 各位大侠好:

          我使用silverlight做了一个管理信息系统方面的平台软件,有部分参数需要执行 javascript 脚本,现在我是获取浏览器的 System.Windows.Browser.HtmlElement 对象,然后动态添加一个javascript 函数,然后获取添加的函数的ScriptObject,调用InvokeSelf执行即可。但是如果系统脱离浏览器在OOB模式下运行的时候就不行了。

          我看到silverlight有DLR库支持动态语言,能否在silverlight程序中我动态输入 Jscript 函数,然后直接调用执行。说得更加直白点,就是在silverlight程序的textbox中输入一个 Jscript 函数(比如是简单的数值计算),然后我单击一个按钮,执行Jscript 函数,然后返回执行结果。

         谢谢了!


    chenpingjian


    2012年10月14日 5:31

全部回复

  • 可以的,需要提升权限

    2012年10月16日 5:38
  • 可以的,需要提升权限

    具体怎么实现?都没在 html 或者 aspx 页面了,还怎么 invoke Javascript ?

    如果只是简单的脚本,可以尝试在 Silverlight 后台代码中实现。

    2012年10月19日 9:02
  • 麻烦仔细说一下!谢谢。。

    chenpingjian

    2012年10月21日 1:35
  • “后台代码中实现”?难道要自己写一个Javascript 解析器吗?麻烦给点提示

    chenpingjian

    2012年10月21日 1:36
  • “后台代码中实现”?难道要自己写一个Javascript 解析器吗?麻烦给点提示
    你好,我的意思是,如果你是想用 javascript 实现简单的验证或者异步调用远程 service 等,你可以把相应的 javascript 代码转换成对应的 silverlight 代码实现。不知道你的实际需求,所以我也不知道怎么帮你。
    2012年10月21日 14:14
  • 跟winform一样,你可以加载web控件,由web控件来完成解析

    但web控件不是sl原生的, 需要权限

    2012年10月22日 6:08
  • Hi,你可以使用

    HtmlPage.Window.Invoke("js函数名","参数"...);

    具体可参见Silverlight的帮助文档。

    另外在<object>标签里加一个

    <param name="enableHtmlAccess" value="true" />

    不知道我理解的对不对。


    • 已编辑 a_Neils 2012年11月7日 1:58
    2012年11月7日 1:51