[英]How to load content of website as mobile web browser in my winform web browser C#
[英]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.