SCORM课件修改方法

1,  首先要修改imsmanifest.xml的版本号

这里可以将课件Quiznew2004.zip下面的imsmanifest.xml的schema粘帖过来。

2.修改config.js(最好这样,防止出现问题)

var nFindAPITries = 0;

var maxTries = 500;

var APIVersion = "";

var API = ScanForAPI(window);

移到最前端

3.修改config.js下面的onSCOExit(sessionTime)方法。

添加拿到当前课件完成状态功能:

var completionStatus =getAPI().GetValue('cmi.completion_status');

否则,这里的判断

         if(completionStatus!= "completed") {

                   completionStatus= 'incomplete';

                   getAPI().SetValue('cmi.completion_status',completionStatus);

         }

因为这里全局变量默认completionStatus=””,而这里没有取值,就会始终将课件状态设定为未完成。

4. config里面在方法退出的时候,需要进行function onSCOExit(sessionTime)下面的getAPI().SetValue('cmi.exit','normal');的判断就可以了(猜测)

在退出方法的时候添加,状态的获取:

varcompletionStatus = getAPI().GetValue('cmi.completion_status');

 

5.在cdrom.js

下面添加getMainFrame方法。

var mainfr = null;

function getMainFrame(){

   if(mainfr == null){

       if(parent.mainFrame) mainfr = parent.mainFrame

                   elseif(opener.parent.mainFrame) mainfr = opener.parent.mainFrame;

                   elseif(opener.opener.parent.mainFrame) mainfr = opener.opener.parent.mainFrame;

    }

   return mainfr;

}

6.在cdrom.js

window.onload =      function(event)下添加

 if(getMainFrame().document.getElementsByName("right")[0] ==undefined){

       completionStatus = 'completed';

       //这里通过getTopFrame拿到getAPI()去进行状态的设定

       getTopFrame().getAPI().SetValue('cmi.completion_status',completionStatus);

}

判断课件是否完成功能。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值