Every once in a while, we'll have someone report that their content is not acting correctly in an integrated version of our SCORM Cloud player. Many folks who create an integration with our web services choose to host our player inside an iframe on their own page. Since our player lives under the domain cloud.scorm.com, embedding it in an iframe on another domain creates what we refer to as a cross-domain frame hierarchy.
In most cases, this is not a problem, but it will break certain content that uses a bad API search algorithm. The correct way for a piece of SCORM content to search for the SCORM API is to begin with the current frame and go upwards to each successive parent through the frame hierarchy. For more information about the correct algorithm, see http://scorm.com/scorm-explained/technical-scorm/run-time/api-disco... .
However, some content instead starts with the topmost frame and begins it's search for the SCORM API downwards through child frames. This not only potentially searches more frames than is necessary, but also breaks in a cross-domain frameset heirarchy, since the first attempt to access anything from a frame outside of the content's domain results in a security exception and crashes the search.
The proposed solution is to replace these misbehaving search algorithms with the correct version posted above.