de la fenêtre.onready = function() Échoue dans IE

J'ai strictement basé sur un navigateur javascript & xlst application. Il est normalement utilisé sur un ordinateur local, mais il est parfois accessible via Apache.

La page principale est content.html qui est de son contenu modifié de manière dynamique. Dans un cas, un href dans une page s'ouvre dans une nouvelle fenêtre et, éventuellement, le code suivant est exécuté qui met en place une onready fonction, avec l'intention d'obtenir le contenu de la nouvelle fenêtre construit.

Cela fonctionne dans presque tous les cas. Il fonctionne dans tous les cas pour Firefox. Et cela fonctionne même dans tous les cas pour IE lors de l'exécution localement (par exemple, file:///C:/Program%20Files/Apache%20Software%20Foundation/Apache2.2/htdocs/hlic/index.html).

Mon problème est que lorsque l'on y accède via Apache dans IE, je viens d'obtenir une fenêtre vide. Il agit comme le onready fonction n'est jamais déclenché. Cependant, si j'ajoute une alerte("feu"), l'alerte est affichée, après qui, la fenêtre de mon contenu ne s'affiche. Alors pourquoi il ne fonctionne qu'avec l'alerte? Que puis-je faire pour obtenir le contenu à afficher. Toute aide serait grandement appréciée.

Voici le code:

/*
*  PresentStreamInNewBrowser
*
*      Creates a new browser window and fills with
*      provided content stream. Also sizes the
*      window to either default dimensions or to any       
*      supplied dimensions.
*
*      A close and a print button are added to the bottom 
*      of the content stream.
*
*      Inputs:
*          pageStream - content stream to display
*              in new window.
*          height, width, top, left - dimensions
*              for the newly opened window. (optional)
* 
*/ 
function Presenter_PresentStreamInNewBrowser( pageStream, height, width, top, left )
{
//set the features
var features  = "height=" + height;
features += ",width=" + width;
features += ",top=" + top;
features += ",left=" + left;
features += ",scrollbars=yes";
features += ",resizable=yes";
//open the window
var presenter = this;
var newWindow = window.open(
app.NormalizeURI("deview/frames/content.html"), '', features );
//the rest of the code executes when the content window
//calls its onready function, after it has loaded
newWindow.onready = function() {
var doc = newWindow.document;
//create stylesheet links if applicable
for(var i = 0; i < pageStream.stylesheet.length; i++) {
var linkElement = doc.createElement("link");
linkElement.rel = "stylesheet";
linkElement.href = pageStream.stylesheet[i];
doc.getElementsByTagName("head")[0].appendChild( linkElement );
}
//insert content
doc.body.innerHTML = "";
doc.body.appendChild( pageStream.content.importIntoDocument(doc) );
doc.body.appendChild( doc.createElement("br") );
//Handle generation of special pages.
presenter.AddGeneratedContent( doc );
//add a close button
var selectionString =
"displayStrings/promptStrings/promptString[@id='close_button_anchor']";
var buttontext = app.displayStringsDOM.selectSingleNode(
selectionString ).firstChild.nodeValue;
var closeButtonElement = doc.createElement("button");
closeButtonElement.id = "closebutton";
closeButtonElement.className = "addonbutton";
closeButtonElement.onclick = "javascript:window.close()";
closeButtonElement.value = buttontext;
doc.body.appendChild( closeButtonElement );
//add a print button
selectionString =
"displayStrings/buttonLabelStrings/buttonLabelString[@id='print_button_anchor']";
buttontext = app.displayStringsDOM.selectSingleNode(
selectionString ).firstChild.nodeValue;
var printButtonElement = doc.createElement("button");
printButtonElement.id = "printbutton";
printButtonElement.className = "addonbutton";
printButtonElement.onclick = "javascript:window.print()";
printButtonElement.value = buttontext;
doc.body.appendChild( printButtonElement );
//close up shop
newWindow.document.body.appendChild(
newWindow.document.createElement("br") );
newWindow.document.title = '-';
//add some language dependent text
presenter.AddButtonLabel( doc );
presenter.AddExamLabels( doc );
//alert("fire");
}        
}
InformationsquelleAutor Brad Rhoads | 2010-01-05