您好我在我的xaml页面上使用WPF WebBrowser控件。 我的html包中有Html,Jquery,js和css文件。 我必须在所有jquery库的Web浏览器控件中加载html页面。 我怎么能注入这个文件? 我正在编写这样的代码:
page.xaml.cs
void wb_Loaded(object sender, RoutedEventArgs e)
{
string htmlPath = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "keyboardWidget\\test.html");
string html = File.ReadAllText(htmlPath.ToString());
webBrowser.NavigateToString(html);
}
这是page.xaml:
<WebBrowser x:Name="webBrowser"></WebBrowser>
我收到这样的错误。
嗨,任何人都可以建议注入js或jquery库的最佳方法是什么。 如果在wpf网页浏览器控制中不可能,那么我应该使用什么控件。
答案 0 :(得分:1)
我怀疑问题可能不是WebBrowser控件找不到JS脚本,而是WPF WebBrowser控件与JSON存在兼容性问题。
尝试在您的页面中包含此脚本,看看它是否可以解决问题: JSON2
下载json2.js并将其包含在您网页的HTML中:
<script type="text/javascript" src="json2.js"></script>
答案 1 :(得分:0)
我无法在WPF WebBrowser控件中使用js文件呈现html。
添加xulrunner,Geckofx-Winforms.dll和Geckofx-Core.dll 然后我添加了page.xaml
<Grid x:Name="gecoBrowser" Height="150" Width="735">
page.xaml.cs:
Gecko.Xpcom.Initialize(AppDomain.CurrentDomain.BaseDirectory + "xulrunner");
Gecko.GeckoWebBrowser myBrowser = new Gecko.GeckoWebBrowser();
WindowsFormsHost host = new WindowsFormsHost();
host.Child = myBrowser;
gecoBrowser.Children.Add(host);
string htmlPath = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "keyboardWidget\\test.html");
myBrowser.Navigate("file:///" + htmlPath);
答案 2 :(得分:0)
您好找到了这个问题的答案: 在wpf web浏览器控件中注入js文件。
首先你必须在html中更新你的IE 在html的头部:
<meta http-equiv="x-ua-compatible" content="IE=9">
注入这个jquery库: -
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
后者:
https://forum.jquery.com/topic/json-is-undefined-with-jquery-min-2-0-3-on-ie-11
IE 11模式注册表:
https://weblog.west-wind.com/posts/2011/May/21/Web-Browser-Control-Specifying-the-IE-Version