这是我的场景:
我在一个WinForms应用程序中使用WebBrowser控件来显示数据。超文本标记语言是通过DocumentText属性提供的,我想使用jQuery与内容交互。从web加载jQuery (Google API)的工作方式:
DocumentText中的实际html,头块:
<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,但也不起作用。我该如何正确地做到这一点?
发布于 2009-11-12 17:04:03
快速修复#49:在Path.GetTempPath()
中创建临时html文件并导航到它们。这样,限制较少,因此允许运行脚本等本地资源。退出时清除。
额外的好处:自动缓存。
发布于 2009-11-12 12:18:33
您可以考虑将一个简单的HTTP服务器嵌入到在其自己的线程上运行的应用程序中。也许不是完美的,但可能只是做你需要的。
请参阅Embedded .NET HTTP Server或Simple HTTP Server Skeleton in C#作为两个示例。
这种架构是否适合您是另一回事,但它可能只允许您在本地为静态内容提供服务,而不必担心控件的安全限制。你可能会遇到一些防火墙问题,但我想说这应该是最小的,因为你的连接都是通过环回的。
无论如何,希望这能提供一些值得思考的东西……
发布于 2014-04-20 17:36:10
使用awesomium1网页浏览器控件。它支持Winforms和WPF上的jquery。它对非商业应用程序是免费的。我计划把它推荐给我的一些雇主遗留的应用程序,这些应用程序对IE8的支持令人头疼。
https://stackoverflow.com/questions/1721752
复制