none
有关调用JavaScript文件中function的方法的问题 RRS feed

  • 问题

  • 现在有一个环境,在Windows App Store平台下,如果调用某个JS文件中的Function,得到返回结果?

    以下是我思考的想法,可是都行不通。

    1,在原来的.NET平台下,可以调用早期的Windows Script Control 的ActiveX组件,来实现WinForm调用本地JS文件中的函数,可是到了Window RT阶段,无法调用Com组件导致无法实现。(或者还有其他什么办法可以实现这个功能?)

    2,通过创建一个WebView控件,调用InvokeScript方法来实现执行WebView控件中嵌入得Script代码。可是这个方法并不可以在多线程下重复访问,也就是说不能两个线程同时访问这个控件。会产生以下错误:应用程序调用一个已为另一线程整理的接口。 (异常来自 HRESULT:0x8001010E (RPC_E_WRONG_THREAD))

    以上是我的两个思路,可是并没有很好的解决办法。

    不知道各位可否给我提供一些有用的参考和思路,感激不尽。

    Ps:最好也可以同时支持Windows Phone 8下的开发。

    2013年9月6日 8:18

答案

  • Hi Lex,

    目前来说是没有办法从C#中直接访问JavaScript中的方法,所以你提到的第一个方法基本上没有办法可以实现。

    通过WebView是一个建议的方法,InvokeScript可以调用JavaScript的内容。我想知道的是JavaScript中function所花费的时间如何,如果是很短的时间,参考:http://www.cnblogs.com/webabcd/archive/2013/07/18/3197432.html 通过阻塞的方式来分开线程的运行时间。

    --James


    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support

    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    2013年9月9日 2:37
    版主

全部回复

  • 难道没有人知道该怎么做吗?
    2013年9月6日 9:29
  • Hi Lex,

    目前来说是没有办法从C#中直接访问JavaScript中的方法,所以你提到的第一个方法基本上没有办法可以实现。

    通过WebView是一个建议的方法,InvokeScript可以调用JavaScript的内容。我想知道的是JavaScript中function所花费的时间如何,如果是很短的时间,参考:http://www.cnblogs.com/webabcd/archive/2013/07/18/3197432.html 通过阻塞的方式来分开线程的运行时间。

    --James


    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support

    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    2013年9月9日 2:37
    版主