나는 최근에 같은 문제에 발견. 자바 스크립트 내 C#의 웹 브라우저 구성 요소에서 IE에서 작동하지만.
해결 방법은 HKLM \ Security \ Internet Explorer \ MSHTML 레지스트리 키를 확인하는 것이 었습니다. java를 허용하려면 0이어야합니다. webbrowser 내의 스크립트! 이제 내 코드가이 reg 키를 확인하고 0으로 변경 한 다음 (0이 아닌 경우) InitializeComponents()를 호출합니다.
키는 웹 브라우저의 동작을 다른 방식으로 변경합니다. 이제 화살표 키는 포커스를 링크에서 링크로 이동시키지 않지만 웹 브라우저보기를 스크롤합니다.
희망도 도움이됩니다.
편집 :에 StackOverflow에
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;
}
}
}
에 오신 것을 환영합니다 : 여기에 코드 샘플입니다. 글쎄, 당신은 당신의 제목 줄에 태그 정보를 넣었습니다. 당신은하지 말아야합니다 - 그것은 태그 속에 들어 있습니다. 그리고 질문을 잊어 버린 것처럼 보입니다. :-) 게시물을 편집하고 제목 줄을 좀 더 의미있는 것으로 바꿀 수 있으며 문제를 명확히하고 대답 할 수있는 질문을 할 수 있습니까? 감사. –
@RafaelTriani 정확하게 작동하지 않는 것은 무엇입니까? 그 코드라면 코드가 필요합니다. –
@Ramhound 웹 브라우저로 내 응용 프로그램을 실행할 때 웹 사이트에서 javascript/jquery를 실행하지 마십시오. –