Playback on Tablet

Jun 01, 2013

I have a client LMS that runs Storyline in an LMS frameset.  No problems there.

The issue is Tablet support.  Storyline looks lousy in a frameset and would appear much better in a new window.

Does anyone know of an option or a hack that will allow desktops to run in a frameset but launch Storyline in a new window on a tablet?

Sam

5 Replies
Dennis Hall

Hi Sam:

You will have to modify the javascript of the LMS to launch the course in a new Window.

Some LMs systems have this in the course configuration as an option.

If you are using an LMS like Docebo, the course will load in a shadowbox but still be in a frameset, however, in this case, you can edit the CSS to hide a great deal of objects - like the header, footer, etc.

If you were to have Storyline force a new window when launching the launch_lms.html file, you would add this script into the story.html, however, you will need to edit the story.html every time the course is published / republished - but it can be done,

Here is a link to standard javascript that will do the trick for you.

http://www.w3schools.com/jsref/met_win_open.asp

Note the options: open full screen, etc.

Hope this helps.

Best Regards,

Dennis Hall

Sam Carter

Dennis,

Thanks for your reply.  There's a long road from the syntax of a JavaScript open.window on w3schools to finding where in Storyline's many lines of HTML and JavaScript one would conditionally test to see if this is a tablet device (this test is not simple) and then and only then open story.html in a new window BUT ONLY if it is not already in a new window.

Greatly appreciate it if anyone can fill in the blanks.

Dennis Hall

Hi Sam:

I have attached a text file with a JavaScript in it that will sense the mobile device and open it in a new window. This script does not require any custom JavaScript file to be included and will work using the existing Articulate supplied script.

You can paste (and modify) this in the header of your story.html file and see where that takes you for a starting point in your process. You "may" have it point to the index_lms.html file to see if that opens in a new window.

Hope this helps get you started, however, I make no guarantees that your LMS will not block this function.

Best Regards,

Dennis Hall

Sam Carter

Dennis,

I'll wager that any LMS that runs SCORM JavaScript won't block this function.

This is a great tablet detection script.  Inserting the script into story.html isn't a problem.  Here are a couple of additional toughies:

1 - If the script opens story.html in a new window, how do we stop execution of story.html in the original frameset?  More importantly, if (the first) story.html initiated any SCORM calls, e.g., LMS_Initialize, that could be bad for tracking as the new window will do the same.  Down to brass tacks, this script should be run before story.html is opened in the LMS frameset.

2 - If the script is embedded in story.html and the above problem is solved, how will the script detect that it is running in a new window, not the LMS window, so that it will not open ANOTHER story.html window?  A script is needed that can return true/false depending on whether story.html is running in the LMS window/frameset or in a new opened window (which may also be inside a frameset).  This is problematic in the general case as several LMS (many?)  will wrap a course window in an "invisible" frameset (one that consumes no display area at all) as a means of providing supporting JavaScripts.  Differentiating this new window environment from the primary LMS window running the course in a "small" frameset is an elusive problem to solve.  If it could be solved, then yes, a new window could be opened only once, and only when necessary.

The easier solution would be for the LMS to detect the tablet device (this is what cloud.scorm.com does), and force the course to open in a new window on tablet devices even if a frameset is configured.  Problem solved.  Of course, I don't have any control over LMS software.

Sam

Dennis Hall

Hi Sam:

Thanks for the compliment on the script... I cooked it myself

As mentioned previously, this is a start.

I would first confirm your valid concerns above, then, it these issues do arise, I would be a bit surprised since the lms HTML file should be the communication channel for Javascript and not the story file.

As for your concluding statement above "the LMs detecting...", I think this would be the best solution if you have the option.

Best Regards,

Dennis Hall

This discussion is closed. You can start a new discussion or contact Articulate Support.