How to modify LMS StudentName Script to Capture another LMS Variable?
Apr 08, 2019
Hi all
I use the following script (see below) to capture the student name from my LMS.
I obtained the code from this forum and the neat thing about it is that:
- It works!
- It "hunts" for the parent frame to find the LMS value
- It parses the Student Name (in my case to a new VAR called "newName")
I'd like to modify the code to capture another VAR (studentID) stored in my LMS.
When I contacted the LMS vendor (and shared the code below) this was their response:
"...we store the student ID in the property: cmi.core.student_id. In a SCORM frame (not the popup) this property can be retrieved via:
window.parent.API.LMSGetValue( "cmi.core.student_id")
He assumed you will be able to retrieve the student ID via:
var studentId = lmsAPI.LMSGetValue("cmi.core. student_id") at the end of the provided source code..."
I've done what they've suggested - and it doesn't work :(
Can anyone else suggest the edits I need to make to the script below to retrieve the studentId?
(Here is the script that DOES work to pull out StudentName)
var player = GetPlayer();
function findLMSAPI(win) {
// look in this window
if (win.hasOwnProperty("GetStudentID")) return win;
// all done if no parent
else if (win.parent == win) return null;
// climb up to parent window & look there
else return findLMSAPI(win.parent);
}
var lmsAPI = findLMSAPI(this);
var myName = lmsAPI.GetStudentName();
var array = myName.split(',');
var newName = array[1] + ' ' + array[0];
player.SetVar("newName", newName);
Be the first to reply
This discussion is closed. You can start a new discussion or contact Articulate Support.