Pregunta

Estoy usando InbeddedWB (una extensión de twebbrowser) para hacer como una "vista previa en vivo" de algún contenido generado dinámicamente.

Estoy tratando de agregar jQuery a la mezcla, por lo que puedo obtener algunos efectos elegantes, sin embargo, ya que IE9 siempre pregunta "permitir contenido bloqueado" para cada página de maldición, una generada dinámicamente (webbrowser.loadFromString) ciertamente no estará permitido divertirse. Para decirlo simple: no permitirá la ejecución de JavaScript.

Intenté agregar un SecurityManager a mi TembedDedWB, sin embargo, eso tampoco lo hizo. Probé mi código dinámico en Firefox, y en IE9, y funciona (por supuesto, en IE9 tengo que permitir primero, que era cómo descubrí que era un problema de seguridad).

¿Hay una forma indolora de evitar esto, sin tener que entrar manualmente en IE y ajustar algo? ¿O estoy completamente equivocado sobre la causa del problema?

EDITAR: Después de intentarlo El método de este artículo, Es decir, no pregunta si debería permitir cosas más, sin embargo, mi script aún no se ejecuta dentro de mi tembededwb/twebbrowser.

Edición 2: Bien, al eliminar el código jQuery y mostrar una alerta simple, me veo obligado a concluir que JS ahora se está ejecutando, sin embargo, JQuery no lo es.

Edición 3: Aquí está el código HTML (despojado) que genera mi aplicación, donde JQuery no funciona en mi control incrustado de twebbrowser - sin embargo, funciona en Internet Explorer 9 mismo:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=9" />
    <script type="text/javascript" src="file://C:\jQuery.js"></script>
</head>
<body>
    <center>
    <p>
      Some stuff here!
    </p>
    </center>

    <script type="text/javascript" language="javascript">
    $(document).ready(function(){
            alert('I Am jQuery!!!!');
    });
    </script>
</body>
</html>

Edición4: También he intentado cambiar el src a una jQuery alojada de Google, y eso tampoco funcionó. Eliminar el metatag tampoco lo arregló. Solo para hacerte saber de cosas que probé antes de perder el tiempo al sugerirlo :)

Editar5: Al navegar a un sitio que usa jQuery (webbrowser.navigate), el sitio funcionaba como se esperaba. Sin embargo, al hacerlo desde mi tests local.html, o haciendo .LoadFromString();, no funcionará.

No funcionará = el código jQuery no se ejecuta.

¿Fue útil?

Solución

Parece funcionar si usa URL correcto para el archivo jQuery.js:

<script type="text/javascript" src="file://C:/jQuery.js"></script>
<script type="text/javascript" src="file:///jQuery.js"></script>

o una ruta relativa, también puede omitir el file:// protocolo:

<script type="text/javascript" src="../../jQuery.js"></script>

Lo anterior funciona cuando carga el HTML desde un archivo. Sin embargo, la pregunta es si el contenido de la memoria y JavaScript del sistema de archivos no se considera cruzar un límite de contexto de seguridad y rechazado por esa razón por el navegador integrado. En ese caso, incrustar jQuery directamente en el contenido HTML (usando el <script> etiqueta) debería funcionar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top