Helpex - Trao đổi & giúp đỡ Đăng nhập
6

Tôi cố gắng lưu trữ mô-đun học tập điện tử SCORM được phân cấp trên một miền khác không phải LMS (Hệ thống quản lý học tập) của tôi đang chạy. Các mô-đun SCORM thường chạy trong khung / cửa sổ trình duyệt của riêng chúng và giao tiếp trực tiếp với LMS, chạy tất cả trên cùng một miền. Điều này không có vấn đề gì vì không có vấn đề bảo mật. Đã thử trường hợp này với mã của tôi và nó đã hoạt động.

Để lưu trữ mô-đun được lưu trữ trên một máy chủ khác, tôi cố gắng sử dụng một cái gì đó giống như một trình bao bọc. Các trình bao bọc này được lưu trữ trên LMS, tải nội dung từ extern và giao tiếp qua postMessage với LMS. Tôi đã thử dự án mã nguồn mở này: https://github.com/Didask/scol-r

Nhưng tôi không hiểu. Lần nào tôi cũng gặp lỗi: Error grabbing 1.2 API-SecurityError:Blocked a frame with origin "https://..." from accessing a cross-origin frame. Protocols, domains, and ports must match. Vì vậy, một cái gì đó cố gắng truy cập vào một cái gì đó không được phép. Ngoại lệ được nêu ra trong phương thức "SCORM_ScanParentsForApi".

Tôi đã hỏi tác giả của dự án nhưng anh ta không có câu trả lời nào cả. Tôi thiết lập một dự án demo nhỏ trong phản ứng để mô phỏng một LMS. Đã thêm mô-đun trình bao bọc trỏ đến máy chủ nội dung bên ngoài của tôi, nơi mô-đun SCORM được lưu trữ.

Có lẽ ai đó có một ý tưởng hoặc có thể cho tôi một gợi ý. Tôi nghĩ nó là một cái gì đó tầm thường. Hy vọng rằng;) Cảm ơn!

6 hữu ích 2 bình luận 1.4k xem chia sẻ
1

Vấn đề cụ thể của bạn là tiêu đề Access-Control-Allow-Origin https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS/Errors/CORSAllowOriginNotMatchingOrigin

Vì vậy, chúng tôi đang sử dụng sosafe.de và khóa học skorm trên lms0.sosafe.de Điều này sẽ gây ra lỗi CORS. Bạn cần các tiêu đề phản hồi của mình được chấp nhận.

Bạn có thể làm điều này với cấu hình apache của mình. Điều này sẽ cho phép phản hồi đi qua.

SetEnvIf Origin "http(s)?:\/\/(.+\.)?sosafe\.de(:\d{1,5})?$" CORS=$0

Header set Access-Control-Allow-Origin "%{CORS}e" env=CORS
Header merge  Vary "Origin"

Bạn không cần phải sử dụng chính xác mã này nhưng hãy sửa đổi máy chủ để thêm tiêu đề Access-Control-Allow-Origin. Nếu bạn làm Access-Control-Allow-Origin: *điều này sẽ cho phép các yêu cầu có nguồn gốc chéo từ bất kỳ đâu (mặc dù bạn chỉ nên cho phép các miền mà bạn tin cậy). Điều này sẽ giải quyết vấn đề của bạn.

Nếu không, chúng phải ở trên cùng một miền. điều này có thể không thực hiện được do thiết kế của SCOL-R trình kết nối scorm cho phép bạn truy cập API.

1 hữu ích 5 bình luận chia sẻ
-1

Bạn có thể xem xét giải pháp thương mại này, một giải pháp thay thế cho đám mây scorm:

https://www.scormnext.es

Nó cho phép bạn phân phối nội dung SCORM của mình từ xa tới LMS bên ngoài bằng cách sử dụng các đầu nối SCORM (bộ điều phối).

-1 hữu ích 0 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ javascript reactjs scorm scorm1.2 , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm

loading