/ / jQuery-Dialog wird nicht in IE8 geöffnet, aber Hintergrund-Overlay - Jquery, Internet-Explorer-8, Dialog

Das jQuery-Dialogfeld wird nicht in IE8 geöffnet, das Hintergrund-Overlay jedoch - Jquery, Internet-Explorer-8, Dialog

Ich verwende den Dialog von JQuery, um eine Meldung aufzurufen, wenn ein Benutzer zu einer Seite kommt, die aber nur einmal pro Tag erfolgen soll. Ich habe es geschafft, alles zum Laufen zu bringen, jedoch, wenn der Code trifft:

$("#dialog").dialog("open")

Nichts passiert. Wenn ich jetzt tue:

modal: true,

Wenn Sie es ausführen, wird zwar die Hintergrundüberlagerung angezeigt, nicht jedoch der tatsächliche Dialog. Ich las eine Frage, in der sie sagten, es sei ein Fehler und um eine bestimmte Zeile zu kommentieren, was ich tat, aber keine Änderung auftrat.

Es funktioniert einfach großartig in Chrome, ff, etc ..., aber nicht IE8

Hier ist mein Code (natürlich nur das zugehörige Zeug):

<script src="http://testsite/JQuery/js/jquery-1.8.0.min.js" ></script>
<script src="http://testsite/JQuery/development-bundle/ui/jquery.ui.core.js"></script>
<script src="http://testsite/JQuery/jquery-ui-1.8.20.custom/development-bundle/ui/jquery.ui.widget.js"></script>
<script src="http://testsite/JQuery/jquery-ui-1.8.20.custom/development-bundle/ui/jquery.ui.position.js"></script>
<script src="http://testsite/JQuery/jquery-ui-1.8.20.custom/development-bundle/ui/jquery.ui.dialog.js"></script>

<link rel="stylesheet" href="JQuery/jquery-ui-1.8.20.custom/css/ui-lightness/jquery-ui-1.8.20.custom.css" type="text/css">

<script type="text/javascript">

function openpopup() {
$("#dialog").dialog("open");
}

function writeCookieTest() {
var currentDate = new Date();
currentDate.setTime(currentDate.getTime() + 60 * 1000); // Just a minute to test
document.cookie = "oncePerDay=true; expires=" + currentDate.toGMTString() + "; path=/";
}

function readCookieTest() {
var name = "oncePerDay";
var nameEQ = name + "=";
var ca = document.cookie.split(";");
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == " ") c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
}

$(document).ready(function () {

$("#dialog").dialog({
autoOpen: false,
modal: true,
height: 300,
width: 300
});

if (readCookieTest() != "true") {
writeCookieTest();
openpopup();
}
});
</script>



<div id="dialog" title="Reminder!">
<p>This is the text to remind...</p>
</div>

Antworten:

0 für die Antwort № 1

Gelöst Es scheint ein Problem zu sein, wenn nicht alle benötigten Skripts UND Mischversionen der Skripts vorhanden sind. Die folgenden jQuery-Skripts ermöglichen, dass der Dialog ohne Probleme mit IE8 arbeitet:

<link rel="stylesheet" href="jQueryUI/jquery-ui-1.8.21.custom.css">

<script src="jQueryUI/jquery-1.7.2.min.js"></script>
<script src="jQueryUI/jquery.ui.core.js"></script>
<script src="jQueryUI/jquery.ui.datepicker.js"></script>
<script src="jQueryUI/jquery.ui.widget.js"></script>
<script src="jQueryUI/jquery.ui.position.js"></script>
<script src="jQueryUI/jquery.ui.dialog.js"></script>
<script src="jQueryUI/jquery.ui.mouse.js"></script>
<script src="jQueryUI/jquery.ui.draggable.js"></script>
<script src="jQueryUI/jquery.effects.core.js"></script>
<script src="jQueryUI/jquery.effects.explode.js"></script>
<script src="jQueryUI/jquery.ui.resizable.js"></script>