can't find the LMS API in frames
Mar 30, 2017
Hi all-
I am working on a course that has to be output to html5 only. I am using some javascript calls to set some variables (userName and dateCompletedString) which I url encode and pass to a certificate of completion.
A simplified version of my code:
var d = new Date();
var dateCompletedString = (d.getMonth()+1) + "/" + d.getDate() + "/" + d.getFullYear() ;
var lmsAPI = parent;
var userName = lmsAPI.GetStudentName();
window.open('certificate.html?userName='+userName+'&dateCompletedString='+dateCompletedString);
Under normal circumstances it works great. However, there are multiple language versions of this course that now need to be consolidated into one package. The client has asked that the language be selected up front using a frame setup where the language selection page is replaced by the appropriate content (individual storyline files for each lang).
I have that set up, and the normal communication (bookmarking, completion, etc.) is working. However the javascript no longer does. It appears to be breaking down when the GetStudentName() is called, as if it isn't finding the API.
Anyone have suggestions or successfully dealt with something similar?
Thanks in advance!
Dave
1 Reply
Thanks Chistoph. I didn't even realize you could do some of those things Sopharo noted.
I have managed to get it working if I have the language selection button open the course in a new window rather than replacing the frame in the frame set. That is less than ideal, but I'm afraid I will have to do that for now.
This discussion is closed. You can start a new discussion or contact Articulate Support.