我正在尝试在作为字符串加载到WPF WebBrowser控件的html页面中包含我的项目本地的js和css资源文件。
该项目为桌面应用程序构建一个dll。使用Visual Studio 2013和C#。
HTML加载了WebBrowser,但是我收到了与包含JS文件相关的错误。
private void Window_Loaded(object sender, RoutedEventArgs e)
{
string page = GetPage();
if (page != null)
{
string resourcePath = System.IO.Path.GetFullPath("Resources/");
// Try setting an absolute path
page = page.Replace("Resources/", resourcePath);
this.webbrowser.NavigateToString(page);
}
}
嵌入在html字符串中的内容如下:
<head>
<script language="JavaScript" src="Resources/myscript.js"></script>
<link rel="stylesheet" type="text/css" href="Resources/mystyle.css">
</head>
我收到一个错误弹出窗口:
An error has occurred in the script on this page.
URL: aboutC:\MyDir\MyProject\bin\Debug\Resources/myscript.js
它预先设置了URL“约”。我可能还需要更改斜杠。 我尝试过很多东西。 “约会”总是先行。
还尝试使用IsolatedStorage,但这对我的项目不起作用: http://msdn.microsoft.com/library/windows/apps/ff431811(v=vs.105).aspx
答案 0 :(得分:4)
调用NavigateToString
时必须使用绝对URI。由于您不是,因此IE假定about:
作为导致其失败的相对路径。
随机高端口上的use file:///C:\some\path.css
,res://somedll.dll/path.css
或host a HTTP server using WCF并使用http://localhost:37458/path.css
。