2012-03-22 23 views
5

Ứng dụng Silverlight 5 của tôi được lưu trữ trong bảng điều khiển ASP.NET không được hiển thị trong Firefox (phiên bản 11). Tuy nhiên nó hoạt động hoàn hảo trong Chrome, IE và Safari. Tôi đang tự động tải đối tượng Silverlight như hình dưới đây. Điều này được thực hiện để chuyển các tham số init. (mà tôi đã xóa để thử nghiệm). Tôi đang nhận một vùng Silverlight trống nhỏ màu trắng thay cho ứng dụng Silverlight trong Firefox.Firefox không hiển thị động điều khiển Silverlight 5 được thêm

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); 

Tuy nhiên, nguồn HTML từ các trình duyệt khác nhau trông giống nhau.

trang html từ 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> 

Đây chính là tương tự như trong Chrome, IE và Safari.

Tôi đã thử các ứng dụng mẫu SL 5 khác (không được tải động mặc dù) và các công việc này tốt trên Firefox.

Tôi đã thử các phiên bản Firefox khác nhau trên các máy khác nhau. Nó không giúp ích gì. Bất kỳ đề xuất nào về những gì có thể sai ở đây sẽ rất hữu ích.

+0

Mã có vẻ ổn. Điều này có vẻ là một vấn đề với Firefox. – blitzkriegz

+0

Mọi vấn đề tôi gặp phải với Firefox không hiển thị đối tượng Silverlight của tôi đã được giải quyết bằng cách áp dụng chiều cao và chiều rộng cho div bao quanh. (không phải 100%, nhưng giá trị số) – bperreault

Trả lời

4

Thuộc tính data có dữ liệu không hợp lệ: URI, vì vậy không có gì được tải. Việc sử dụng một URI hợp lệ (cần ít nhất một dấu phẩy sau khi loại) có giúp được không?

+0

Tôi chắc chắn thuộc tính dữ liệu có chính xác. OP đã đề cập nó hoạt động tốt trong các trình duyệt khác. – Nemo

+2

Cú pháp cho dữ liệu: URI nằm trong http://www.ietf.org/rfc/rfc2397.txt phần 3 và yêu cầu dấu phẩy sau loại. Một số trình duyệt có thể chấp nhận nó mặc dù nó không đúng định dạng, nhưng điều đó không chính xác. –

+1

@Boris Zbarsky: +1. Tôi cũng nhớ đọc ở đâu đó rằng dấu phẩy theo sau là cần thiết để hỗ trợ khả năng tương thích với Firefox. –

Các vấn đề liên quan