SCORM Cloud running in an Iframe


A recent question that came in through a support ticket...


We would like to run some functions in an iframe around SCORMcloud (help etc). Is it possible to run SCORMcloud in an iframe?



And my response...


Sort of funny / serendipitous that you would ask about this, as we were just fretting over it yesterday. Here's the answer, which unfortunately presents a problem: The only option we currently have for protecting access to the course content on SCORM Cloud is using a browser cookie as an authorization token on launch. Long story short, it simply means your browser has to support cookies and accept them from in order to launch the content hosted there. This is typically fine with most setups, since most will simply redirect the user to our launch process / course player, and then the user is redirected to a URL of your choosing at the end... So, if the things you want to do in an iframe don't involve the actual launch of a course, you may be able to interact with the web services without much problem.

But.... if you're looking to launch the SC course in an iframe, the cookie we need to set during the launch process becomes what is known as a 3rd party cookie, which most browsers _do not_ accept by default. You can change the settings for accepting these cookies in all modern browsers, but we see that as only a partial answer to the problem, since it requires a big imposition on the users launching the course. Also, if you're referring to the SCORM Cloud site, not necessarily the web services, it also uses a cookie to provide session information, and will also not work in an iframe for the issue stated above. To summarize, if you're not using the SC site or launching courses in an iframe, you should be fine, but because both of these things require cookies, they'll require browser settings to allow 3rd party cookies if you want to host them in iframes that exist on some other domain.

One last detail is that, framesets + frames appear to be free of this problem, so if you wanted to have the site or the launch process in a frame element of a frameset, vs. an iframe, there should be no issues with the cookies that we set.

The good news is that, it shouldn't be typical practice to do either of those things (site or launch) through an iframe, and we've had plenty of success without needing them. Typically the user is redirected in a browser to the launch process, either in the same window or a pop up window, and in either case they can be redirected to the right place when they exit the course. Of course, your requirements may be unique, but I think what is available may serve them. If you don't mind, feel free to provide more details about what you're working on, and we can talk through our options... Thanks for the question!



Comments latest first

User photo

Hello David, I've also found this thread as I was trying to figure out ways to embed the SCORM player inside a page. I understand that I can change the launch type to frameset to launch the course in the same window, instead of a popup. However, same window seems to mean a new tab in the same browser rather than the same page. I have a requirement to "embed" the player inside an area in a web page. I tried using an iframe as tried by Bryan Falcon above but the player still opens in a new tab (i am using Mozilla right now).

Is it possible to embed a player in the page that the user is currently on?

April 28, 2011 07:42 am. edit.
User photo
Bryan Falcon 

That works great! Thanks.

October 20, 2010 04:38 pm. edit.
User photo
David Ells 
Rustici Software


Thanks for mentioning something here, or else I would have forgotten to post an update. Since the original post, we've discovered that we could use a "compact privacy header" or P3P header to allow our third party cookie by default in IE. With this hurdle jumped and all other popular browsers having third party cookies enabled by default, this means it really shouldn't be much of an issue running our SCORM Cloud player in an iframe. 


For your particular question, I think what you're looking for may be in the "Launch Behavior" tab of the course properties editor for the course in question. By default, a Single SCO course will launch in a new window (a window new from the player itself). However, you can override this behavior and have the course launch in the frameset by changing  the SCO Launch Type from "New Window" to "Frameset". Does this answer your question?


Thanks for the feedback!

October 20, 2010 03:24 pm. edit.
User photo
Bryan Falcon 

Hm, my previous post did not show the sample html, I am attaching a file here.

October 20, 2010 03:20 pm. edit.
User photo
Bryan Falcon 
Hello David, I found this thread as I was trying to embed the SC course in an iframe, but realized it always opened a new window. Then I tried the framesets+ frames approach but this again opened a new window. This is the simplified code I am trying to use (see below). Did I misunderstand what you meant or is there just no way to start the course inside an existing page? Thanks, -Pablo from Haiku LMS ===================================
Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request


Powered by Zendesk