Frage

Ich habe den folgenden JavaScript-Code ein Fenster in Internet Explorer öffnet. Der Code wird von einer Seite innerhalb eines Microsoft CRM-modalen Dialogfeldes ausgeführt. (RequestID ist eine Zeichenfolge, die immer das gleiche in dem Testsystem ist - im Moment ist es „abcdefg“ enthält - ohne die Anführungszeichen).

var cancelUrl = "CancelRequest.aspx?RequestID=" + RequestID;
alert("About to open a window.\n\n" + cancelUrl);
window.open(cancelUrl);
alert("Window opened");

Ich erwarte eine Nachricht zu sehen, mir zu sagen, dass ich bin ein Fenster zu öffnen. Ich erwarte, dass dann ein Fenster geöffnet und erhält eine weitere Nachricht über das Fenster, um zu sehen hat geöffnet. Ich kümmere mich nicht wirklich über die Reihenfolge der letzten beiden Veranstaltungen; Die Warnungen werden dort so weiß ich, der Code ausgeführt wurde.

Ich habe zwei PCs und einen virtuellen PC. Alle laufenden IE7. Auf der Windows 2003 VPC, die Nachrichten und Pop-up erscheinen jedes Mal, ohne scheitern.

Auf dem Vista-PC und WinXP PC, die Nachrichten erscheinen, aber die Popup-Fenster erscheint nur zeitweise. (Ich denke, dies auch der Fall auf dem Vista-PC sein kann).

Alle drei haben identische Einstellungen im Internet Explorer. Alle haben das IE Pop-up-Blocker deaktiviert und haben keine andere Pop-up-Blocker installiert ist.

Kann jemand Aufschluss über das?

War es hilfreich?

Lösung

Ach, ich glaube, ich habe es ... verpassten es in der Beschreibung ...

Sie sind versucht, ein nicht-modal zu öffnen Fenster aus einem modalen Dialog in IE .

Dieses AFAIK sollte nicht funktionieren.

Versuchen Sie eine andere modale Fenster zu öffnen, statt.

Effektiv Sie sagen ...

auf Fenster A, B modale Fenster öffnen, jetzt öffnet, nicht-modale Fenster C, was nicht wirklich gültig ist.

Andere Tipps

Dieser Code ist einfach. Verwenden Sie Debugger und sehen, was los ist.

Überprüfen Sie die Site mit FireFox oder Chrome, haben sie JS Debugger.

Edit:

In try / catch-Block um window.open() und sehen, ob es eine Ausnahme gibt es.

Edit 2:

Ich sehe jetzt, dass Sie Zeichen als RequestId senden. Sie sollten prüfen, ob die URL, diese Art von Wert verarbeiten kann. Seit Name RequestId ist würde ich sagen, dass es große Chance ist, dass es nur numerisch Parameter sein. Wenn das richtig ist, dann kann es sein, dass Server-Seite Abstürze passieren, wenn Sie versuchen, Fenster zu öffnen, und dann passiert nichts. Grund mehr setzen try / catch-Block und Test.

Vielleicht möchten Sie Firebug lite versuchen, die für IE funktionieren wird.

http://getfirebug.com/lite.html

Die try / catch andere Leute erwähnt haben, ist auch eine gute Idee. Denke ich.

Darüber hinaus ist es eine Chance, dass das Pop-up versucht, ein Fenster zu verwenden, die bereits geöffnet ist, aber minimierte. So scheint es nicht zu funktionieren, aber es ist wirklich nur das minimierte Fenster neu zu laden?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top