Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF Webbrowser控件添加了JavaScript代码,不支持Object.freeze函数_Javascript_C#_Wpf - Fatal编程技术网

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>
我现在的问题是:

  • Visual Studio 2017使用哪个解释器来解释JavaScript代码
  • 是否有可能更改/更新口译员
  • 还是我错过了什么

  • 我已经用计算机解决了这个问题

    .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;