2012-05-19 9 views
5

Sto provando a scrivere un plug-in Eclipse che visualizza alcune informazioni come una pagina HTML. Per questo voglio usare il widget SWT Browser. Il problema è che quando imposto il contenuto del browser tramite setText, i selettori nth-child non funzionano, ma quando imposto lo stesso identico contenuto tramite setUrl("file://..., funzionano correttamente. Perché il rendering è diverso e come posso ottenere lo stesso rendering con setText come con setUrl?Rendering diverso nel browser SWT con setText e setUrl

Sto creando il Browser con SWT.NONE, poiché non voglio forzare gli utenti ad installare Safari o Firefox.

Questo è il codice HTML in cui il problema è riproducibile:

<!doctype html><html><head> 
<style type="text/css"> 
    div:nth-child(2n) { background-color: #f00; } 
</style> 
</head><body> 
    <div>1</div> 
    <div>2</div> 
    <div>3</div> 
</body></html> 
+0

Qual è l'HTML che inserisci in setText? Hai fuggito correttamente? I riferimenti alle immagini funzionano? –

+0

Aggiunto l'HTML. Non contiene riferimenti alle immagini. – Fixpoint

+0

Non ho un Internet Explorer qui, questo frammento funziona in IE che hai installato? È l'HTML che si passa a setText, o è la fonte che si ottiene, quando si fa clic con il pulsante destro del mouse sul browser e si seleziona "display source". –

risposta

7

Dopo aver utilizzato il metodo setText() del browser ampiamente, io non ho visto alcun comportamento come quello che si sta descrivendo.

È possibile che si tratti di un problema di modalità di compatibilità/modalità di intranet intranet locale? IE imposta il suo motore di rendering in modo diverso in base all'origine del contenuto e, per impostazione predefinita, si comporta in modo diverso durante il rendering del contenuto intranet rispetto al contenuto Internet (e il contenuto del file system locale viene considerato come contenuto intranet.) Questo è il mio ricordo comunque, tutto ricordiamoci che c'è una buona dose di voodoo a meno che non si imposti esplicitamente l'intestazione di compatibilità.

L'aggiunta del seguente metatag modifica il comportamento?

<meta http-equiv="X-UA-Compatible" content="IE=9" /> 

Inoltre, avete un adeguato DOCTYPE definito nel codice HTML si sta aggiungendo con setText()?

+0

Non lo sapevo su IE. L'intestazione ha risolto il problema; grazie! – Fixpoint

Problemi correlati