/ / jQuery nie otwiera okna dialogowego w IE8, ale nakładka tła - jquery, internet-explorer-8, dialog

Okno dialogowe jQuery nie otwiera się w IE8, ale nakładka tła ma - jquery, internet-explorer-8, dialog

Używam okna dialogowego JQuery, aby wyświetlić komunikat, gdy użytkownik przychodzi na stronę, ale ma się to zdarzyć tylko raz dziennie. Udało mi się uzyskać wszystko, ale gdy kod trafi:

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

Nic się nie dzieje. Teraz kiedy to robię:

modal: true,

I uruchom go, nakładka tła pojawi się, ale nie okno dialogowe. Przeczytałem pytanie, w którym powiedzieli, że jest to błąd i skomentować pewną linię, którą zrobiłem, ale nie nastąpiła zmiana.

Działa świetnie w chrome, ff, itd ..., nie tylko w IE8

Oto mój kod (oczywiście powiązane rzeczy):

<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>

Odpowiedzi:

0 dla odpowiedzi № 1

Rozwiązany. Wydaje się, że jest to problem z brakiem wszystkich potrzebnych skryptów i miksowaniem wersji skryptów, poniższe skrypty jQuery umożliwiają dialogowi na IE8 bez problemów:

<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>