내장된 Internet Explorer의 JavaScript 오류

내장된 Internet Explorer의 JavaScript 오류

사무실에 통계를 표시하기 위한 월보드 설정이 있지만 내장된 Internet Explorer를 사용하는 위젯에서 계속 JavaScript 오류가 발생합니다.

여기에 이미지 설명을 입력하세요

오류는 문제를 일으키지 않고 닫을 수 있지만 하루에 2~3번씩 계속해서 발생하고, 이 경우 월보드에 원격으로 액세스하여 닫힐 때까지 누구도 통계를 볼 수 없으므로 짜증스럽습니다. 일반 Internet Explorer에서는 아래 옵션을 선택 취소하여 쉽게 중지할 수 있습니다.

여기에 이미지 설명을 입력하세요

내 질문은 내 위젯에 포함된 Internet Explorer에서 이 스크립트 오류 팝업을 비활성화하는 방법입니다.

편집 : harrymc의 답변에 대한 응답

이제 harrymc의 지침에 따라 regedit를 사용하여 이러한 설정을 편집했지만 오류가 계속 나타납니다.

답변1

레지스트리를 편집할 수 있으므로 다음 문서에는 다양한 IE 설정이 나열되어 있습니다.
가상 Internet Explorer 설정을 사용자 정의하는 방법.

"모든 스크립트 오류에 대한 알림 표시"를 비활성화하려면 다음 .reg 파일을 사용하십시오.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"Error Dlg Displayed On Every Error"="no"

답변2

이 특정한 경우에는 오류를 숨기려고 하기보다는 오류를 완전히 피할 수 있습니다(또는 공급자에게 이 게시물을 알려 JavaScript를 수정하도록 할 수 있습니다).

  • 어쩌면 서버는 아래 JavaScript의 "열린 탭"에 대해 전혀 값을 반환하지 않을 수도 있습니다.위젯의 탭 설정을 변경해 보세요서버가 특정 값을 설정하도록 강제합니다. 월보드에서 이 작업을 수행할 수 없는 경우 일반 브라우저에서 시도하여 설정이 서버에 저장되기를 바랍니다.

그래도 도움이 되지 않으면 "일반" Internet Explorer 브라우저에서 다음을 시도해 보십시오.

  • 사용 중인 URL의 도메인이 스크립트가 로드된 도메인(또는 위젯이 HTML이나 데이터를 로드하는 URL)과 달라서 IE가 제3자 쿠키를 처리하고 있다고 느낄 수도 있습니다. 그래서:타사 쿠키를 허용하면 어떤 이점이 있는지 확인하세요. Microsoft의 내용을 참조하세요.쿠키 차단, 활성화 또는 허용.

  • JavaScript에서 쿠키를 설정하거나 읽으려면 추가 권한이 필요할 수 있습니다. 그래서:daviker.whccs.com신뢰할 수 있는 사이트에 추가하는 것이 도움이 되는지 확인하세요., 좀 더 많은 작업을 수행할 수 있도록 하시겠습니까? Microsoft의 내용을 참조하세요.보안 영역: 웹사이트 추가 또는 제거.

  • 어쩌면 서버가 이미 같은 이름의 쿠키를 설정했지만 다음과 같이 표시했을 수도 있습니다.HttpOnly, JavaScript에서 액세스할 수 없게 만듭니다.기존 "활성 탭" 쿠키를 삭제해 보세요..

배경:

1546행의 오류대본동일한 스크립트가 해당 쿠키 자체를 설정/변경하려고 시도한 직후에 해당 스크립트에서 사용할 수 없는 특정 쿠키와 관련이 있습니다(라인 1541에서 해당 값은 실제로 undefined라인 1533이 해당 쿠키를 확인하지 못한 것일 수 있음).

1527    restoreTabsFromTheServer: function()
1528    {
1529        $.post("xrm_ui?get=getTabs", {}, function(responce) {
1530
1531            reportTabs.tabCaptions = responce.reportPages;
1532
                // Next line only checks for an empty "openedtabs", not for
                // an undefined or null value; bad coding...
1533            if (responce.openedtabs == '')
1534            {
1535                $.cookie("active-tabs", '');
1536                reportTabs.tabidSelected = undefined;
1537                reportTabs.tabindexSelected = undefined;
                    // Next line would exit the function if we had an empty
                    // result, but not if it is undefined or null
1538                return false;
1539            }
1540
                // Next line: NO ERROR WHILE WRITING, but the new value could
                // be undefined, which might even clear an existing cookie?
1541            $.cookie("active-tabs", responce.openedtabs);
1542            reportTabs.tabidSelected = responce.tabidselected;
1543            reportTabs.tabindexSelected = responce.tabindexselected;
1544
1545            // restore tabs
                // Next line: NO RESULT WHEN READING
1546            var arr = $.cookie("active-tabs").split(',');
1547            ...

따라서 내장된 IE가 쿠키에 대한 JavaScript 설정을 무시하거나 JavaScript가 쿠키를 정의되지 않도록 설정한 것으로 보입니다. 그런 다음 해당 값을 다시 읽으려고 하면 비어 있습니다 .

내장된 IE 구성 요소가 "일반" IE 브라우저를 사용하는지 모르겠습니다.설정쿠키용. 하지만 나는 분명히 임베디드 IE 구성 요소를 본 적이 있습니다.공유하다IE 브라우저를 통한 쿠키. (IE가 기본 브라우저가 아닐 때 Excel에서 링크를 클릭할 때와 마찬가지로,일부 검색에는 여전히 IE 쿠키가 사용됩니다..) 따라서 "일반" IE 브라우저에서 설정을 변경하면 JavaScript가 포함된 구성 요소에 이 쿠키를 설정할 수 있습니다.


또는 1529행에서 서버로부터 수신된 값이 유효한 값이 아니어서 쓰기 또는 읽기가 실패할 수도 있습니다. 좋다쿠키에는 쉼표가 허용되지 않습니다., 그래서 .split(',')의심스러워 보입니다. 하지만 어떤 jQuery 플러그인이 에 사용되는지조차 알 수 없으므로 $.cookie일부 인코딩을 사용하고 있는지 파악하려면 훨씬 더 자세한 정보가 필요합니다.

답변3

Windows 11에서 이와 유사한 사례를 경험하는 사람이라면 인터넷 옵션에서 "모든 스크립트 오류에 대한 알림 표시"를 선택 취소하는 기능을 더 이상 사용할 수 없다는 좌절감을 경험할 수 있습니다. 레지스트리를 통해 이 설정을 수정하는 harrymc의 탁월한 솔루션도 이제 Internet Explorer에서 무시되는 것 같습니다.

단순히 특정 URL을 호출하는 특정 앱의 성가신 메시지를 피하려는 경우, 한 가지 가능한 해결책은 해당 웹사이트에서 실행되는 스크립트를 완전히 차단하는 것입니다(이로 인해 앱의 기능이 중단되지 않는 경우). 이를 달성하는 가장 간단한 방법은 다음과 같습니다.

  • 시작을 누르고 "인터넷 옵션"을 입력한 후 Enter를 누르세요.시작 메뉴에서 인터넷 옵션 검색 일치
  • 보안 탭에서 "제한된 사이트"를 클릭한 다음 "사이트"를 클릭하세요. 인터넷 옵션의 보안 탭 아래에는 출입 금지 표시처럼 보이는 제한된 사이트라는 영역이 있습니다. 그것을 클릭한 다음 아래에 있는 사이트 버튼을 클릭하세요.인터넷 옵션의 보안 탭 아래에는 출입 금지 표시처럼 보이는 제한된 사이트라는 영역이 있습니다. 그것을 클릭한 다음 아래에 있는 사이트 버튼을 클릭하세요.
  • 스크립트를 비활성화하려는 웹사이트를 입력하고 "추가"를 클릭하세요. 영역에 이 웹 사이트 추가 텍스트 상자에서 추가하려는 웹 사이트(일반적으로 경로 접미사 없이)를 입력하고 추가를 클릭합니다. 이 기사의 경우 웹사이트는 다음과 같을 수 있습니다.https://daviker.whccs.com 이전에 추가한 웹 사이트를 선택하고 제거를 클릭하여 이 영역을 추가로 구성할 수 있습니다.영역에 이 웹 사이트 추가 텍스트 상자에서 추가하려는 웹 사이트(일반적으로 경로 접미사 없이)를 입력하고 추가를 클릭합니다. 이 기사의 경우 웹사이트는 https://daviker.whccs.com일 수 있습니다. 이전에 추가한 웹사이트를 선택하고 제거를 클릭하여 이 영역을 추가로 구성할 수 있습니다.

닫기를 클릭한 다음 확인을 클릭합니다.

관련 정보