在webbrowser控件上更新到最新版本的IE以运行本地jQuery

时间:2017-03-03 20:05:41

标签: c# jquery winforms internet-explorer

我已经研究了与此主题相关的几个问题(Cannot force WebBrowser Control to render using current version of IEUse latest version of Internet Explorer in the webbrowser control),但我的C#知识太基础了,无法找到我应该在我的代码中放置“修复”的位置。< / p>

我正在使用visual studio 2015并在C#中编写winforms应用程序。该应用程序包含一个显示本地HTML文件的Web浏览器,其中一些使用jquery和javascript。我知道我必须编辑注册表,但我不知道如何安全地进行此操作。第二个链接中提供的代码似乎很好,但我不知道要在其中进行哪些更改,因此它适用于我的项目以及将其放在我的代码中的位置。

我的Form1.cs到目前为止。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Web_Browser
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();


        }



        private void button4_Click(object sender, EventArgs e)
        {
            string curDir = Directory.GetCurrentDirectory();
            this.webBrowser1.Url = new Uri(String.Format("file:///{0}/post-op/index.html", curDir));
        }

        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {

        }


        private void navigateToPage()
        {
            var filemapping = new Dictionary<string, string>
        {
            { "www.xy.com", "file:///{0}/XY/index.html" },
            { "www.post-op.com", "file:///{0}/post-op/index.html" },
            { "www.free-mail.com", "file:///{0}/mail/index.html"},
            { "test", "file:///{0}/index.html" },

        };

            var textEntered = textBox1.Text;

            string filename;
            if (filemapping.TryGetValue(textEntered, out filename))
            {
                string curDir = Directory.GetCurrentDirectory();
                var uri = new Uri(String.Format(filename, curDir));
                webBrowser1.Navigate(uri);
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {

            navigateToPage();
        }

        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == (char)ConsoleKey.Enter)
            {
                navigateToPage();
            }
        }

        private void backButton_Click(object sender, EventArgs e)
        {
            webBrowser1.GoBack();
        }

        private void forwardButton_Click(object sender, EventArgs e)
        {
            webBrowser1.GoForward();
        }

        private void button6_Click(object sender, EventArgs e)
        {
            string curDir = Directory.GetCurrentDirectory();
            this.webBrowser1.Url = new Uri(String.Format("file:///{0}/mail/index.html", curDir));
        }


    }
}

对不起,如果这看起来很愚蠢。我已经真的试图自己解决这个问题,已经就SO上的几个问题给出了答案,但我有点迷失了。

0 个答案:

没有答案