<all_urls>
(function markComplete() {
function findAPI(win) {
var attempts = 0;
while (win && attempts < 15) {
if (win.API_1484_11) return { api: win.API_1484_11, version: "2004" };
if (win.API) return { api: win.API, version: "1.2" };
if (win.parent && win.parent !== win) win = win.parent;
else if (win.opener && win.opener !== win) win = win.opener;
else break;
attempts++;
}
return null;
}
var found = findAPI(window);
if (!found) {
console.warn("SCORM API not found");
return;
}
var api = found.api;
function set(key, value) {
try {
var result = found.version === "2004"
? api.SetValue(key, String(value))
: api.LMSSetValue(key, String(value));
console.log(key, result);
} catch (e) {
console.warn(key, e);
}
}
if (found.version === "2004") {
set("cmi.score.min", "0");
set("cmi.score.max", "100");
set("cmi.score.raw", "100");
set("cmi.score.scaled", "1");
set("cmi.progress_measure", "1");
set("cmi.completion_status", "completed");
set("cmi.success_status", "passed");
try { console.log("Commit", api.Commit("")); } catch (e) { console.warn(e); }
} else {
set("cmi.core.score.min", "0");
set("cmi.core.score.max", "100");
set("cmi.core.score.raw", "100");
set("cmi.core.lesson_status", "passed");
try { console.log("Commit", api.LMSCommit("")); } catch (e) { console.warn(e); }
}
})();Install requires the InjectJS Chrome extension. Scripts run only on sites matching the pattern above. Review code before installing any community script.