2009-11-12 78 views
1

這裏是我的情況:裝載的jQuery從文件系統

我使用的WinForms應用程序WebBrowser控件來顯示數據。 HTML通過DocumentText屬性提供,我想用jQuery與內容進行交互。從網上(谷歌API)來加載jQuery的原理:內部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,但那也行不通。我如何正確地做到這一點?

回答

2

快速修復#49:在Path.GetTempPath()創建臨時HTML文件,然後導航到他們。這樣,限制就會減少,因此允許像腳本這樣的本地資源運行。在退出時清理。

獎勵:自動緩存。

+0

嗨!你能解釋更多嗎? – 2013-02-01 12:37:47

3

你可以考慮將一個簡單的HTTP服務器嵌入到你自己的線程上運行的應用程序中。也許不完美,但可能只是做你需要的。

作爲兩個例子,參見Embedded .NET HTTP ServerSimple HTTP Server Skeleton in C#

這種架構是否適合您是另一回事,但它可能只是讓您在本地服務器靜態內容,而不必擔心控制器的安全限制。您可能有一些防火牆問題,但我會說這應該是最小的,因爲您的連接全部都是環回。

希望這提供了一些思考反正....

+0

這的確很有意思,謝謝。仍然在尋找「快速修復」,但無論如何,這是我現在要嘗試的。 – 2009-11-12 12:42:55

0

使用awesomium 1瀏覽器控件。它支持Winforms和WPF上的jquery。它是免費的非商業應用程序。我計劃推薦它用於我的一些僱主遺留應用程序,這會讓IE8支持頭疼。