2012-08-31 16 views
9

Ho sviluppato un'applicazione mobile (in asp.net) e sto utilizzando un'applicazione WinForms con il controllo WebBrowser per dimostrarlo.L'oggetto non supporta proprietà o metodo Controllo WebBrowser

ho la mia pagina principale sto usando uno script per nascondere la barra degli indirizzi:

<script type="text/javascript"> 
    window.addEventListener("load", function() { 
     // Set a timeout... 
     setTimeout(function() { 
      // Hide the address bar! 
      window.scrollTo(0, 1); 
     }, 0); 
    }); 
</script> 

Questo ha funzionato bene un più macchine, ma questa mattina su una nuova macchina che ho incontrato un popup quando la pagina viene caricata:

enter image description here

la macchina in questione ha installato IE9 e ho l'impostazione Disable Script Debugging Controllato.

Qual è il modo migliore per affrontare questo problema. Posso aggiungere alcune condizioni nel JS per non essere eseguite durante l'esecuzione in IE?

+1

Sembrerebbe che IE9 Strumenti> Opzioni Impostazioni non siano utilizzati dal controllo WebBrowser. Quindi, anche se 'Disabilita Script Debugging' è selezionato in IE, questa impostazione non viene propagata al controllo. Sono riuscito a disattivarlo nel controllo utilizzando 'WebBrowser.ScriptErrorsSuppressed = True' –

risposta

22

So che questo problema è del 2012 ma c'è una risposta per questo.

Nella parte superiore del documento <head> in cui viene aggiunto lo script è necessario scrivere

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

WinForms controllo WebBrowser sta utilizzando Internet Explorer, ma è necessario forzare la versione più recente lì. Per es. se usi jQuery 2+ richiede IE 9+ quindi devi usare almeno la versione 9 o successiva.

+0

salva vita! Grazie! – dan

0

Il controllo Webbrowser è una parte di Internet Explorer. E Internet Explorer non supporta il metodo window.addEventListener. Utilizzare invece il metodo window.attachEvent.

Così lo script nella vostra pagina sarà letta come

window.attachEvent("load", function() { 
    // Set a timeout... 
    setTimeout(function() { 
     // Hide the address bar! 
     window.scrollTo(0, 1); 
    }, 0); 
}); 

Spero che questo potrebbe aiutare!

+0

http://msdn.microsoft.com/en-us/library/ie/ff975245%28v=vs.85%29.aspx suggerirei che IE9 supporti addEventListener. Il controllo WebBrowser utilizza IE9 se è installato? –

1

Il controllo del browser Web non supporta jquery v2.

Utilizzare jquery 1.9.1.

<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
Problemi correlati