2012-03-22 12 views
5

L'applicazione Silverlight 5 ospitata in un pannello ASP.NET non viene visualizzata in Firefox (versione 11). Tuttavia funziona perfettamente bene in Chrome, IE e Safari. Sto caricando dinamicamente l'oggetto Silverlight come mostrato di seguito. Questo è fatto per passare i parametri di init. (che ho rimosso per il test). Ricevo una piccola area bianca Silverlight vuota al posto dell'applicazione Silverlight in Firefox.Firefox non mostra dinamicamente il controllo Silverlight 5

HtmlGenericControl myHtmlObject = new HtmlGenericControl("object"); 
myHtmlObject.Attributes["data"] = "data:application/x-silverlight"; 
myHtmlObject.Attributes["type"] = "application/x-silverlight"; 
HtmlGenericControl mySourceParam = new HtmlGenericControl("param"); 
mySourceParam.Attributes["name"] = "source"; 
mySourceParam.Attributes["value"] = "ClientBin/SilverlightApp.xap"; 
myHtmlObject.Controls.Add(mySourceParam); 
HtmlGenericControl myOnErrorParam = new HtmlGenericControl("param"); 
myOnErrorParam.Attributes["name"] = "onError"; 
myOnErrorParam.Attributes["value"] = "onSilverlightError"; 
myHtmlObject.Controls.Add(myOnErrorParam); 
myHtmlObject.Attributes["width"] = "100%"; 
myHtmlObject.Attributes["height"] = "100%"; 
panelSilverlightHost.Controls.Add(myHtmlObject); 

Tuttavia, la sorgente HTML dei vari browser ha lo stesso aspetto.

pagina HTML da Firefox:

<object data="data:application/x-silverlight" 
    type="application/x-silverlight" width="100%" 
height="100%"> 
    <param name="source" value="ClientBin/SilverlightApp.xap"></param> 
    <param name="onError" value="onSilverlightError"></param> 
</object> 

Questo è esattamente uguale a Chrome, IE e Safari.

Ho provato altre applicazioni SL 5 di esempio (non caricate dinamicamente) e funzionano perfettamente su Firefox.

Ho provato diverse versioni di Firefox su macchine diverse. Non sta aiutando. Qualsiasi suggerimento su cosa potrebbe essere sbagliato qui sarebbe molto utile.

+0

Il codice sembra andare bene. Questo sembra essere un problema con Firefox. – blitzkriegz

+0

Ogni problema che ho riscontrato con Firefox che non visualizzava i miei oggetti Silverlight è stato risolto applicando un'altezza e una larghezza al div allegato. (non al 100%, ma valore numerico) – bperreault

risposta

4

L'attributo data contiene dati non validi: URI, quindi non viene caricato nulla. L'utilizzo di un URI valido (richiede almeno una virgola dopo il tipo) aiuta?

+0

Sono certo che l'attributo dei dati sia corretto. L'OP ha accennato che funziona bene con altri browser. – Nemo

+2

La sintassi per un dato: URI è in http://www.ietf.org/rfc/rfc2397.txt sezione 3 e richiede la virgola dopo il tipo. Alcuni browser potrebbero accettarlo anche se è malformato, ma ciò non lo rende corretto. –

+1

@ Boris Zbarsky: +1. Ricordo anche di aver letto da qualche parte che la virgola finale era necessaria per supportare la compatibilità con Firefox. –

Problemi correlati