Domanda

Sto usando EmbeddedWB (Un'estensione TWebBrowser) di fare come una "anteprima dal vivo" di alcuni contenuti generati dinamicamente.

Sto cercando di aggiungere jQuery nel mix, in modo da poter ottenere alcuni effetti fantasia in corso, tuttavia, poiché IE9 chiede sempre "Consenti contenuto bloccato" per ogni pagina maledetto, uno generato in modo dinamico (Webbrowser.LoadFromString) certamente non sarà permesso di avere divertimento. Per dirla semplice:. E 'abitudine consentire l'esecuzione di JavaScript

Ho provato ad aggiungere un SecurityManager al mio TEmbeddedWB, tuttavia, che non ha fatto neanche. Ho provato il mio codice dinamico in Firefox, e in IE9, e funziona (ovviamente, in IE9 devo permettere prima, che era come ho trovato che fosse un problema di sicurezza).

C'è un modo indolore per aggirare il problema, senza dover passare manualmente in IE e Tweak qualcosa? O sono completamente sbagliato circa la causa del problema?

Modifica : Dopo aver provato di questo articolo metodo , IE non lo fa chiedere se dovrebbe consentire più roba, però il mio script non è ancora in esecuzione nel mio TEmbeddedWB / TWebBrowser ..

Modifica 2 :. Va bene, rimuovendo il codice jQuery, e la visualizzazione di un avviso di pianura, sono costretto a concludere che JS è ora in esecuzione, tuttavia jQuery non è

EDIT 3 : Ecco la (ridotta) il codice HTML che la mia app genera, dove jQuery non funziona nel mio controllo EmbeddedWB / TWebBrowser - ma , funziona in Internet Explorer 9 stesso:

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

edit4 : Ho anche provato il passaggio del src a un Google Hosted jQuery, e che non ha funzionato neanche. Rimozione del Metatag non risolvere neanche. Solo ti permette di sapere di roba Ho provato prima di perdere tempo su suggerendo che:)

EDIT5 : accedendo a un sito che utilizza jQuery (WebBrowser.Navigate) il sito è stato funziona come previsto. Tuttavia quando si fa dal mio test.html locali, o facendo .LoadFromString();, non funzionerà.

non funziona = codice jQuery non di esecuzione.

È stato utile?

Soluzione

It seems to work if you use correct URL for the jquery.js file:

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

or a relative path, you can also omit the file:// protocol:

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

The above works when you load the HTML from a file. The question is however, if content from memory and javascript from file system is not considered crossing a security context boundary and rejected for that reason by the embedded browser. In that case, embedding jquery directly in the HTML content (using the <script> tag) should work.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top