2010-08-06 17 views

Trả lời

2

Một số điều cần kiểm tra:

Kiểm tra xem bạn đang sử dụng đúng kiểu mime và mã hóa ký tự ở phía máy chủ. Firefox sẽ làm việc ra mã hóa cho chính nó khi tải một tệp cục bộ, nhưng sẽ tôn trọng khai báo mime-type/encoding khi yêu cầu từ máy chủ.

Tôi đã xem một vài bài đăng (ví dụ: here) tuyên bố rằng Firefox không hỗ trợ tải các mẫu XSL từ xa bằng đường dẫn tuyệt đối. Tôi nghi ngờ điều này, và nghi ngờ nó có nhiều khả năng vấn đề mime như trên dẫn họ tin điều này, nhưng nó có thể là giá trị yêu cầu Mozilla về điều này trực tiếp.

Cuối cùng, bạn đã thử nghiệm biểu định kiểu XSL hoạt động khi được kéo cục bộ chưa? Và bạn có thể xác nhận rằng nó thực sự là XSLT, và không phải là một trong những biến thể XSL kỳ lạ của Microsoft, chẳng hạn như WD-XSL?

+0

Xin chào, tôi có vấn đề tương tự ngay bây giờ và tôi không chắc chắn đó là loại mime phù hợp để sử dụng ở phía máy chủ. Ngay bây giờ tôi có ' 'trên tập tin xslt là từ xa. Nó hoạt động khi được kéo cục bộ. – Pradep

1

Tôi đã gặp sự cố với Firefox thực hiện chuyển đổi chính xác, nhưng đã có thể khắc phục sự cố bằng cách thêm không gian tên XHTML.

Xem sau để biết thêm: How can I make XSLT work in chrome?

5

Nếu nó không phải là một vấn đề cú pháp, tôi nghĩ rằng đó là một chính sách cùng một nguồn gốc vấn đề. Firefox (và also Chrome and IE9) không chuyển đổi XML cục bộ bằng XSLT từ xa vì lý do bảo mật. Lỗi này cho biết lỗi không xác định 805303f4. Hãy tưởng tượng rằng XSLT có thể tạo ra JavaScript độc hại, được nhúng trong mã đầu ra HTML.

Solutions, nếu bạn là nhà phát triển:

  • làm cho việc chuyển đổi ở phía máy chủ và cung cấp cho người dùng các liên kết đến các HTML sản lượng
  • tải về tại địa phương (trên nền) cả XML và XSLT và sau đó mở XML cho người dùng

Tôi nhận thấy rằng tệp CSS và hình ảnh có thể vẫn còn trên máy chủ mà không có giới hạn.

+0

Vì vậy, những gì? Rất nhiều trang HTML trỏ đến các tập lệnh JS trên các trang web từ xa. Tại sao một trang XML không thể trỏ đến XSL trên một trang web từ xa? – Archie

3

Bạn cũng có thể thay đổi cài đặt này trên firefox:

  1. about.config
  2. Chấp nhận an ninh cảnh báo (và được :-) cẩn thận)
  3. Hãy tìm security.fileuri.strict_origin_policy
  4. Set nó thành false
+1

Nhưng lưu ý rằng bản sửa lỗi này sẽ chỉ hoạt động trên trình duyệt của riêng bạn. – Ren

2

Trên câu hỏi ban đầu: Nếu bạn gặp lỗi này với Firefox khi mở tài liệu XML:

Error loading stylesheet: An unknown error has occurred (805303f4) 

và nếu kiểu XSLT được tham chiếu trong các hướng dẫn xử lý xml-stylesheet sử dụng một URL tuyệt đối đến một trang web khác với trang web của tài liệu XML, sau đó một giải pháp có thể để làm cho Firefox sử dụng CORS bằng cách cài đặt Force CORS tiện ích bổ sung. Tất nhiên, điều này đòi hỏi rằng máy chủ của tệp XSLT cũng hỗ trợ CORS.

Điều này tạo sự khác biệt cho tôi (đối với trường hợp tệp XML cục bộ tham chiếu XSLT từ xa bằng cách sử dụng URL tuyệt đối).

Tôi cũng có cùng một chính sách có nguồn gốc cho URI tập tin tắt trong Firefox bằng cách thiết lập trong about: config:

security.fileuri.strict_origin_policy = false 

nhưng điều đó không làm các trick trong trường hợp này (và thậm chí có thể được thiết lập để đúng cho trường hợp này).

0

Tôi đã giải quyết chính xác cùng một vấn đề - có vẻ như bằng cách nào đó liên quan đến "Chính sách gốc tương tự". Các tên miền http://someting.orghttp://www.someting.org không giống nhau - vấn đề của tôi là tham chiếu biểu định kiểu .xsl bằng biến thể đầu tiên (không có phần "www."). Sau khi tôi đã thêm "www." một phần vào url .xls stylesheet của tôi, mọi thứ đều hoạt động tốt.

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