View Full Version : Active Content problem NOT on Local Hard Drive

07-08-2005, 07:42 PM
I have an issue with Internet Explorer 6.0.2900.218, SP2, 128-bit cipher strength not rendering content in a frameset from an SSL enabled web server. This server happens to be my client’s server and is where the product will reside. I have not been able to reproduce this issue on two other servers running SSL so I can’t imagine what this particular server’s issues are. Finally, the problem is not experienced when using earlier versions of Internet Explorer, or Opera or Firefox.

The frameset is created in index.html. The frameset is designed as follows:

<FRAMESET cols="197,*" frameborder="NO" border="0" onload="populate();" onunload="exitCourse('incomplete');">
<FRAME name="nav" title="navigational links frame" src="leftNav2.html" scrolling="no" marginwidth="0" marginheight="0">
<FRAMESET rows="52px,*" frameborder="NO" border="0" >
<FRAME name="logo" title="top frame" src="topFrame.html" scrolling="no" marginwidth="0" marginheight="0">
<FRAME name="content" title="contents frame" src="blank.html" scrolling="no" marginwidth="0" marginheight="0">

Lessons.js contains multiple functions that handle navigation, look-feel and pop-up window generation. It is referenced as follows in the header section of index.html

<script language="JavaScript" src="scripts/lesson.js"></SCRIPT>

The problem is that no files can be placed in the “content” frame using JavaScript when running on one server. The server is Apache/2.0.48 (Unix) mod_jk2/2.0.2 and is using SSL. Index.html correctly populates the “nav” frame and the “logo” frame. The “content” frame initially is populated by blank.html which is as designed. Some content in the “nav” and “Logo” frames are dynamically generated using JavaScript. This is correctly displayed, so the JavaScript is being read correctly.

Using the debugger in IE, I have identified what lines of code are at the core of the problem.

Index.html’s body tag calls the function populate() using the onLoad event. The function populate() resides in lesson.js.

function populate(){
bottom=URLprefix + pageArray[0];
parent.content.location.href = bottom;

var URLprefix = “https://*********/scorm-content/***/****/modA/”;

pageArray = new Array (
Originally, I did not have the var URLPrefix but I put that in just to see if having a complete URL would correct the problem – it didn’t.

The line in populate() causing the problem is

parent.content.location.href = bottom;.

I get an “Access Denied” error here.

I get other “Access Denied” errors in other functions at this line

var url = parent.content.document.URL; .

What is the issue with trying to access the document.URL and document.href? Can web servers shut this access off? What is the workaround?

When I set IE6 SP2 Advanced Options to “Allow Active Content to run in files on My Computer”, the problem goes away. This is not an acceptable solution. Besides, the content is delivered via the internet.

07-08-2005, 08:31 PM
ahhh good old scorm.

sorry, no solution for you. but i have worked with the shareable content object reference model befor.

all i can say is GOOD LUCK!

07-08-2005, 08:44 PM
Yeah SCORM has its moments. Right now though, this issue is not related to SCORM. This content resides on a separate content server and can be accessed independent of the LMS (I did not design it.......). So the problem I am seeing is a straight javascript/ssl type issue as far as I can tell.

07-08-2005, 10:17 PM
Internet Explorer Local Machine Zone Lockdown: http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/sp2brows.mspx#XSLTsection133121120120;

etc. http://codingforums.com/showpost.php?p=269050&postcount=2

07-11-2005, 02:38 PM
So even if the code is being server over the internet and not from your local hard drive, giving it the Mark of the Web will do the trick?

07-12-2005, 04:54 PM
When I came into work on Monday the code works. The server admins swear nothing changed. Go figure.

Anyway, thanks all for your assistance.