簡體   English   中英

如何將 HTML/JavaScript 從嵌入式資源加載到 winform Web 瀏覽器中

[英]How to load HTML/JavaScript from embedded resource into winform web browser

我想將一些帶有 JavaScript 的 HTML 文件加載到 winforms (v2.0) 應用程序中的 Web 瀏覽器控件中。 在執行期間,我將無法訪問 Internet,因此 JavaScript 和 HTML 表單將嵌入到 resources.resx 文件中。

1) 如何從資源中加載 HTML 文檔(類似於 file:/// 操作,但它不是從文件系統加載的),

2) 我將如何聲明要加載的 JavaScript 腳本? IE,

<script src=resource.jquery.min.js??? ... />

謝謝!

要加載 HTML 文檔,只需將您的 html 文件編譯為嵌入式資源,然后:

WebBrowser browser = new WebBrowser();
browser.DocumentText = Properties.Resources.<your_html_file>;

如果您真的需要外部 .js 文件,我認為您可能需要將它們嵌入資源。 然后你可以將這些資源讀入一串javascript。

string GetResourceString(string scriptFile) 
{ 
    Assembly assembly = Assembly.GetExecutingAssembly(); 
    Stream str = assembly.GetManifestResourceStream(scriptFile); 
    StreamReader sr = new StreamReader(str, Encoding.ASCII);
    return sr.ReadToEnd();
}

(改編自本頁的回復

從這里開始,查看 IHTMLScriptElement。 據我了解,您可以使用此 javascript 字符串並將其設置為 ITHMLScriptElement 的文本字段。 看到這個問題

祝你好運。

這是文件結構。

在此處輸入圖片說明

我通過這樣做取得了成功:

在我的解決方案中設置 html 文件的屬性,如下所示:

Build Action -> Content
Copy to Output Directory -> Copy always

像這樣配置我的 webBrowser 對象屬性:

var myAssembly = System.Reflection.Assembly.GetExecutingAssembly().CodeBase;
var path = myAssembly.Substring(0, myAssembly.Length - "MyLib.DLL".Length) + "WebViews/prototype/index.html";
webBrowser.Url = new Uri(path);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM