jQuery对话框无法在IE8中打开,但背景覆盖确实如此

时间:2012-08-21 13:59:54

标签: jquery internet-explorer-8 dialog

我正在使用JQuery的对话框在用户访问页面时弹出一条消息,但它应该每天只发生一次。我设法让一切正常,但是当代码命中时:

$('#dialog').dialog('open')

什么都没发生。现在我做的时候:

modal: true,

然后运行它,背景叠加确实出现了,但不是实际的对话框。我读了一个问题,他们说这是一个错误,并注释掉某条线,我做了但没有发生任何变化。

它在chrome,ff等方面效果很好......,而不是IE8

这是我的代码(当然只是相关内容):

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

1 个答案:

答案 0 :(得分:0)

解决。这似乎是一个问题,没有所有必需的脚本和脚本的混合版本,以下jQuery脚本允许对话框在IE8上工作没有问题:

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