【问题标题】:loading jQuery in webbrowser control from the filesystem从文件系统加载 jQuery 在 webbrowser 控件中
【发布时间】:2010-12-15 20:35:43
【问题描述】:

这是我的场景:

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

DocumentText 中的实际 html,head 块:

<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,但这也不起作用。我该如何正确地做到这一点?

【问题讨论】:

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


    【解决方案1】:

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

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

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

    希望这能提供一些值得思考的东西......

    【讨论】:

    • 这确实很有趣,谢谢。仍在寻找“快速修复”,但无论如何这是我现在要尝试的。
    【解决方案2】:

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

    奖励:自动缓存。

    【讨论】:

    • 嗨!你能解释一下吗?
    【解决方案3】:

    使用 awesomium1 浏览器控件。它在 Winforms 和 WPF 上支持 jquery。它对非商业应用程序是免费的。我计划将它推荐给我的一些雇主遗留应用程序,这些应用程序在 IE8 支持方面会令人头疼。

    【讨论】:

      猜你喜欢
      • 2012-05-14
      • 1970-01-01
      • 2013-06-22
      • 2017-11-07
      • 1970-01-01
      • 2012-02-10
      • 2011-03-19
      • 2014-07-04
      相关资源
      最近更新 更多