从文件系统加载webbrowser控件中的jQuery

时间:2009-11-12 12:07:32

标签: javascript jquery winforms .net-2.0 webbrowser-control

这是我的情景:

我在WinForms应用程序中使用WebBrowser控件来显示数据。 HTML是通过DocumentText属性提供的,我想使用jQuery与内容进行交互。从网上加载jQuery(Google API)有效:

DocumentText中的实际html,head block:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
// jquery specific functions...
</script>

我想从文件系统加载jQuery文件,如下所示:

<script type="text/javascript" src="file:///E:/path/to/jquery.js"></script>

但它失败了。我估计它被IE的安全区域设置阻止了(关于:空白吗?)。我尝试过使用MotW,但这也无效。我该怎么做呢?

3 个答案:

答案 0 :(得分:3)

您可以考虑将简单的HTTP服务器嵌入到在自己的线程上运行的应用程序中。也许不是完美的,但可能只是做你需要的。

请参阅Embedded .NET HTTP ServerSimple HTTP Server Skeleton in C#两个示例。

这个架构是否适合您是另一个故事,但它可能只允许您在本地服务器静态内容,而不必担心控件的安全限制。你可能有一些防火墙问题,但我认为这应该是最小的,因为你的连接都是环回的。

希望无论如何都能提供一些思考......

答案 1 :(得分:2)

快速修复#49:在Path.GetTempPath()中创建临时html文件并导航到它们。这样,限制较少,因此允许运行脚本等本地资源。退出时清理。

奖励:自动缓存。

答案 2 :(得分:0)

使用awesomium 1 webbrowser控件。它支持Winforms和WPF上的jquery。它是免费的非商业应用程序。我计划推荐一些我的雇主遗留应用程序,这些应用程序会引起IE8支持的麻烦。