我正在使用 WinForms 浏览器控件来显示我作为资源嵌入的 html 文件中的一些内容,效果很好。
我现在想在我的应用程序中嵌入一些脚本和样式表,但如果可能的话,我不知道如何从 html 页面引用其他嵌入文件。
我当前的解决方案是在显示之前加载资源并将它们添加到浏览器控件的文档中,但是如果我想使用 JQuery 之类的东西,这可能会有点混乱。
如果脚本和样式表与 HTML 文件位于同一目录树中,则可以使用相对路径(例如<script src="../scripts/myFoo.js" />
)。还是我错过了什么?
嵌入文件,然后在渲染之前将每个文件提取到临时文件夹:
string ret = ResourceUtility.GetTempFileFromEmbeddedResource(Assembly.GetExecutingAssembly(),
"outlook.addin.a.html", "a.html");
var bsjs = ResourceUtility.GetTempFileFromEmbeddedResource(Assembly.GetExecutingAssembly(),
"outlook.addin.bootstrap.js.bootstrap.min.js", "bootstrap.min.js");
public static string GetTempFileFromEmbeddedResource(Assembly assembly, string resourceName, string fileName)
{
string output;
using (Stream s = ResourceUtility.GetEmbeddedResourceStream(assembly, resourceName))
{
StreamReader sr = new StreamReader(s);
output = sr.ReadToEnd();
}
return CreateLocalTempFile(output, fileName);
}