2013-03-14 80 views
6

Bận rối gỡ rối một vấn đề lạ liên quan đến cách một số nội dung Flash truyền đạt tiến trình của người dùng từ một mô-đun SCORM trở lại Moodle.Chuyển đổi VBScript sang Javascript

Trên IE 6, 7, 8, 9, Chrome và Firefox, mọi thứ đều hoạt động tốt. Trên IE 10, tiến trình theo dõi từ mô-đun Flash không tới máy chủ.

Trong phóng SCORM, phương thức thụ lý sự kiện được tạo ra bằng cách sử dụng sau đây (cổ đại) mã:

<SCRIPT LANGUAGE="VBScript"> 
on error resume next 
sub preloader_FSCommand(ByVal command, ByVal args) 
    call preloader_DoFSCommand(command, args) 
end sub 
</SCRIPT> 

Debugging trên Chrome, tôi có thể thấy rằng hàm được gọi như mong đợi.

Cố gắng gỡ lỗi trong IE 10 không thành công, vì mã không bao giờ được gọi. Làm cách nào để dịch mã này sang Javascript? Đang cố gắng loại bỏ VBScript vì nó dường như là một phần của vấn đề. Tôi đã thử các mã sau đây, nhưng không thành công:

<script> 
     function preloader_FSCommand (command, args) { 
      preloader_DoFSCommand(command, args); 
     } 
</script> 

preloader_DoFSCommand được định nghĩa ở đâu đó trong mã, và được gọi là chỉ tốt trên Chrome/Firefox/etc, nhưng không phải trên IE 10

Cập nhật: Có vẻ một phần của vấn đề liên quan đến IE 10 không còn hỗ trợ FSCommand trong chế độ tiêu chuẩn. Câu hỏi bây giờ sẽ trở thành, giải pháp phù hợp nào, không yêu cầu nội dung Flash/SCORM thay đổi?

+0

Cố gắng lực IE10 vào chế độ tương thích IE9 với những điều sau đây trong '' của bạn:

+0

Điều đó giải quyết nó - cảm ơn! Vui lòng di chuyển nó để trả lời và tôi sẽ đánh dấu nó là chấp nhận. – Ryan

Trả lời

3

Cố gắng buộc IE10 vào chế độ tương thích IE9 những điều sau đây bạn <head>: <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />

0

Một Javascript cách thực hiện việc giao tiếp cùng với Flash sẽ được sử dụng như sau:

<script type="text/javascript" event="FSCommand(command,args)" for="preloader"> 
    preloader_DoFSCommand(command,args); 
</script>