WPF Webbrowser控件添加了JavaScript代码,不支持Object.freeze函数
我正在向我的WPF Webbrowser控件添加了JavaScript代码,不支持Object.freeze函数,javascript,c#,wpf,Javascript,C#,Wpf,我正在向我的WPF应用程序中的WebBrowser控件添加JavaScript代码。在我的JavaScript代码中,我使用函数Object.freeze(),当我运行应用程序时,它会给我带来以下错误 带有WebBrowser控件的My.xaml如下所示 <Window x:Class="TestWPFApp.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
WPF
应用程序中的WebBrowser控件添加JavaScript代码。在我的JavaScript代码中,我使用函数Object.freeze()
,当我运行应用程序时,它会给我带来以下错误
带有WebBrowser控件的My.xaml如下所示
<Window x:Class="TestWPFApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:TestWPFApp"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Grid>
<WebBrowser x:Name="ProgressBarWeb" HorizontalAlignment="Left" Height="300" VerticalAlignment="Top" Width="300"/>
</Grid>
</Window>
我现在的问题是:
我已经用计算机解决了这个问题 在
.xaml
中,我添加了
<ContentControl x:Name="browserContainer" Height="300" Width="300" Content=""/>
在我使用的代码中
var html = "<html><head><script>" +
"var platformtypes = {"Attr1": 0, "Attr2": 1};" +
"Object.freeze(platformtypes);" +
"</script></head><body></body></html>";
var base64EncodedHtml = Convert.ToBase64String(Encoding.UTF8.GetBytes(html));
var browser = new ChromiumWebBrowser()
{
Address = "data:text/html;base64," + base64EncodedHtml,
RenderProcessMessageHandler = new RenderProcessMessageHandler()
};
browserContainer.Content = browser;
var html=“”+
var platformtypes={“Attr1”:0,“Attr2”:1}+
“对象。冻结(平台类型);”+
"";
var base64EncodedHtml=Convert.ToBase64String(Encoding.UTF8.GetBytes(html));
var browser=新的ChromiumWebBrowser()
{
Address=“data:text/html;base64,”+base64EncodedHtml,
RenderProcessMessageHandler=新的RenderProcessMessageHandler()
};
browserContainer.Content=浏览器;
您正在浏览:空白,表示脚本正在尝试导航到其他网页。您希望执行JavaScript冻结并传递一个字符串。
var html = "<html><head><script>" +
"var platformtypes = {"Attr1": 0, "Attr2": 1};" +
"Object.freeze(platformtypes);" +
"</script></head><body></body></html>";
var base64EncodedHtml = Convert.ToBase64String(Encoding.UTF8.GetBytes(html));
var browser = new ChromiumWebBrowser()
{
Address = "data:text/html;base64," + base64EncodedHtml,
RenderProcessMessageHandler = new RenderProcessMessageHandler()
};
browserContainer.Content = browser;