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">
</FRAMESET>
</FRAMESET>
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;
loadPage();
}
var URLprefix = â
https://*********/scorm-content/***/****/modA/â;
pageArray = new Array (
"intro.htm",
"1000.htm",
""
)
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.