Error de JavaScript en Internet Explorer integrado

Error de JavaScript en Internet Explorer integrado

Tengo una configuración de panel para mostrar estadísticas en la oficina, sin embargo, el widget que utiliza Internet Explorer integrado sigue generando un error de JavaScript.

ingrese la descripción de la imagen aquí

El error se puede cerrar sin causar problemas, pero es irritante ya que sigue apareciendo de vez en cuando alrededor de 2 o 3 veces al día, y cuando lo hace, impide que alguien vea las estadísticas hasta que se cierra accediendo de forma remota al tablero. En Internet Explorer normal, esto se puede detener fácilmente desmarcando la opción siguiente.

ingrese la descripción de la imagen aquí

Mi pregunta es ¿cómo deshabilitar esta ventana emergente de error de script en Internet Explorer que está integrado en mi widget?

Editar: Respuesta a respuesta de harrymc

Ahora he editado estas configuraciones usando regedit según las instrucciones de harrymc, sin embargo, el error aún aparece.

Respuesta1

Como puede editar el registro, el siguiente artículo enumera muchas configuraciones de IE:
Cómo personalizar la configuración de Virtual Internet Explorer.

Para desactivar "Mostrar una notificación sobre cada error de secuencia de comandos", utilice el siguiente archivo .reg:

Windows Registry Editor Version 5.00

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

Respuesta2

En este caso específico, en lugar de intentar ocultar el error, es posible que pueda evitarlo por completo (o indicarle a su proveedor esta publicación para corregir su JavaScript):

  • Tal vez el servidor no devuelva ningún valor para las "pestañas abiertas" en el siguiente JavaScript;intenta cambiar la configuración de las pestañas del widgetpara forzar al servidor a establecer algún valor. Si no puede hacer esto en el tablero, inténtelo en un navegador normal, con la esperanza de que guarde la configuración en el servidor.

Cuando esto no ayude, intente lo siguiente en un navegador Internet Explorer "normal":

  • Tal vez el dominio de la URL que estás usando sea diferente de aquel desde el cual se carga el script (o: la URL desde la cual el widget carga su HTML o datos), lo que hace que IE sienta que está manejando una cookie de terceros. Entonces:vea lo que le aporta permitir cookies de terceros. Ver MicrosoftBloquear, habilitar o permitir cookies.

  • Quizás configurar o leer cookies en JavaScript necesite algunos derechos adicionales. Entonces:ver si agregar daviker.whccs.coma los sitios confiables ayuda, para permitirle hacer un poco más? Ver MicrosoftZonas de seguridad: agregar o eliminar sitios web.

  • Quizás el servidor ya haya configurado una cookie con el mismo nombre, pero la haya marcado comoSólo Http, haciéndolo inaccesible desde JavaScript.Intente eliminar cualquier cookie de "pestañas activas" existente.

Fondo:

El error en la línea 1546 dela secuencia de comandosestá relacionado con una cookie específica que no está disponible para esa secuencia de comandos, justo después de que la misma secuencia de comandos intentó configurar/cambiar esa cookie (en la línea 1541, donde su valor podría estar en realidad undefinedya que la línea 1533 no puede verificar eso):

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

Entonces, parece que el IE incorporado está ignorando la configuración de JavaScript para esa cookie, o JavaScript establece que la cookie no está definida. Y luego, al intentar volver a leer su valor, está vacío .

No sé si el componente IE integrado utiliza el navegador IE "normal"ajustespara galletas. Pero seguramente he visto componentes integrados de IE.compartircookies con el navegador IE. (Como al hacer clic en enlaces en Excel cuando IE no es el navegador predeterminado,Las cookies de IE todavía se utilizan para algunos descubrimientos..) Por lo tanto, tal vez cambiar la configuración en el navegador IE "normal" permitirá que JavaScript establezca esta cookie en el componente integrado.


Alternativamente, tal vez el valor que se recibe del servidor en la línea 1529 no sea un valor válido, haciendo que la escritura o lectura falle. Comolas comas no están permitidas en las cookies, por lo que .split(',')parece sospechoso. Pero entonces: ni siquiera sabemos para qué complemento jQuery se usa $.cookie, por lo que necesitaríamos muchos más detalles para determinar si está usando alguna codificación.

Respuesta3

Cualquiera que experimente un caso similar a este con Windows 11, puede experimentar la frustración de que la capacidad de desmarcar "Mostrar una notificación sobre cada error de secuencia de comandos" ya no esté disponible en Opciones de Internet. La excelente solución de harrymc para modificar esta configuración a través del Registro también parece ser ignorada ahora por Internet Explorer.

Si simplemente está tratando de evitar un mensaje molesto de una aplicación determinada que llama a una URL en particular, una posible solución es evitar por completo que se ejecuten scripts en ese sitio web (si esto no interrumpe la funcionalidad de su aplicación). La forma más sencilla de lograrlo es la siguiente:

  • Presione Inicio, escriba "Opciones de Internet" y presione Entrar.Coincidencia de búsqueda de Opciones de Internet en el menú de inicio
  • En la pestaña Seguridad, haga clic en "Sitios restringidos" y luego haga clic en "Sitios". En la pestaña Seguridad dentro de Opciones de Internet, hay una zona denominada Sitios restringidos que parece una señal de prohibición de entrada. Haga clic en eso y luego haga clic en el botón Sitios debajoEn la pestaña Seguridad dentro de Opciones de Internet, hay una zona denominada Sitios restringidos que parece una señal de prohibición de entrada. Haga clic en eso y luego haga clic en el botón Sitios debajo
  • Ingrese al sitio web para el que desea deshabilitar los scripts y haga clic en "Agregar". En el cuadro de texto Agregar este sitio web a la zona, escriba el sitio web que desea agregar (generalmente sin ningún sufijo de ruta) y haga clic en Agregar. Para el caso de este artículo, el sitio web puede serhttps://daviker.whccs.com Tiene la posibilidad de seleccionar un sitio web que agregó anteriormente y hacer clic en Eliminar para configurar aún más esta zona.En el cuadro de texto Agregar este sitio web a la zona, escriba el sitio web que desea agregar (generalmente sin ningún sufijo de ruta) y haga clic en Agregar. Para el caso de este artículo, el sitio web puede ser https://daviker.whccs.com. Tiene la posibilidad de seleccionar un sitio web que agregó anteriormente y hacer clic en Eliminar para configurar aún más esta zona.

Haga clic en Cerrar y luego en Aceptar.

información relacionada