我最近偶然發現了同樣的問題。JavaScript的工作在IE,但不是在我的C#WebBrowser組件。
的解決方案是檢查HKLM \ Security \ Internet Explorer \ MSHTML註冊表項。它必須爲0以允許java網頁瀏覽器內的腳本!現在我的代碼檢查並將此reg鍵更改爲零(如果不是alreday 0),然後調用InitializeComponents()。
該鍵將以另一種方式更改瀏覽器的行爲:箭頭鍵現在不會將焦點從鏈接移動到鏈接,但它們會滾動瀏覽器視圖。
希望對你有幫助。
編輯:這裏是一個代碼示例:
using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WebBrowser
{
public partial class Form1 : Form
{
public Form1()
{
checkMSHTML(0);
InitializeComponent();
webBrowser1.ScriptErrorsSuppressed = false;
}
private void toolBar1_ButtonClick(object sender, ToolBarButtonClickEventArgs e)
{
switch (e.Button.ImageIndex)
{
case 0:
webBrowser1.Url = new Uri("http://192.168.128.5/www");
break;
case 1:
this.Close();
break;
}
}
/// <summary>
/// check and change MSHTML rendering engine
/// </summary>
/// <param name="iVal">0 = use new IE6 engine, enable JavaScript
/// 1 = use old PIE engine</param>
/// <returns></returns>
bool checkMSHTML(int iVal)
{
bool bRet = false;
Microsoft.Win32.RegistryKey rKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"Security\Internet Explorer",true);
if (rKey != null)
{
int iMSHTML = (int) rKey.GetValue("MSHTML");
if (iMSHTML != iVal)
{
rKey.SetValue("MSHTML", iVal, Microsoft.Win32.RegistryValueKind.DWord);
rKey.Flush();
rKey.Close();
bRet = true;
}
else
{
rKey.Close();
bRet = true;
}
}
return bRet;
}
}
}
歡迎StackOverflow上。那麼,你已經把標籤信息放在你的主題行(你不應該這麼做 - 它屬於標籤),並且似乎忘記了提問。 :-)你能否編輯你的文章並將主題行改爲更有意義的內容,並澄清問題並向我們提出一個我們可以回答的問題?謝謝。 –
@RafaelTriani什麼都不起作用。如果它的代碼那麼我們需要代碼。 –
@Ramhound當我使用webbrowser運行我的應用程序時,不要在網站上執行javascript/jquery。 –