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);
}