2012-07-07 21 views
5

Tôi đang cố gắng tải video của mình bằng cách phát thuộc tính crossorigin trong Chrome (phiên bản 20.0.1132.47 m). Nó thậm chí không tải. Bảng điều khiển mạng cho thấy rằng yêu cầu OPTIONS (được gọi là "preflight") bị trình duyệt hủy bỏ vì một số lý do. Nó hoạt động mà không có thuộc tính crossorigin. Firefox tải và phát thành công. Tôi sẽ đánh giá cao bất kỳ lời đề nghị.video gốc không tải trong Chrome


<video 
    id='vid' 
    autoplay 
    crossorigin 
    src='http://videos-cdn.mozilla.net/serv/mozhacks/demos/resources/immersivevideo/dubai.r.webm'> 
</video>

http://jsfiddle.net/ZVgr2/

Trả lời

4

Nguyên nhân của việc này hóa ra là thiếu Access-Control-Allow-Headers tiêu đề phản ứng với danh sách các tiêu đề HTTP phù hợp với danh sách được thông qua vào Access-Control-Request-Headers tiêu đề yêu cầu.

+0

Bạn có thể chia sẻ cách triển khai chính xác không? – user1063287

+1

Đây là một bài viết SO có câu trả lời thực hiện 'Access-Control-Allow-Headers' giống với' Access-Control-Request-Headers' trong PHP: http://stackoverflow.com/a/9866124/ 410102 – akonsu

+0

Tôi không cho rằng có bất kỳ giải pháp phía khách hàng "đơn giản" nào - tôi chỉ đang cố gắng lấy một trường hợp videojs để tải các tệp caption'.vtt' được lưu trữ trên 'localhost' trong Chrome. – user1063287

1

Trong thẻ video thiết crossorigin-"anonymous" như thế này:

<video crossorigin="anonymous"></video> 
+0

OMG một trong các tiện ích mở rộng của Chrome của tôi đã thêm phần này vào tất cả các video của tôi và đã vi phạm hành vi phát lại video trong các ứng dụng dành cho nhà phát triển của tôi. Mất mãi mãi để tìm thấy nó! Argh! Trong trường hợp này, phần mở rộng là: Bộ chỉnh âm thanh EQ cho Chrome. –

0

Trong trường hợp này là rất hữu ích cho bất cứ ai khác, tôi đã có cùng một vấn đề sau khi được cho là sửa chữa các thiết lập CORS vào file nguồn. Hóa ra Chrome đã lưu bộ nhớ cache cài đặt CORS cùng với tệp, vì vậy tôi phải xóa bộ nhớ cache và sau đó nó hoạt động.

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