Javascript jQuery移动弹出窗口未正确启动

Javascript jQuery移动弹出窗口未正确启动,javascript,php,jquery,jquery-mobile,responsive-design,Javascript,Php,Jquery,Jquery Mobile,Responsive Design,当我用jquerymobile和PHP完成一个快速响应的Web时,我现在正在美化一些数据转换和弹出窗口 我现在面临两个问题:(第一个问题解决了) 我有一个“ShowMessage”函数,可以显示指定的消息和重定向URL。一旦用户单击“确定”按钮,它将被重定向 PHP本身工作得很好,但jQuery Mobile却不行。PHP要做的是将一些消息和URL传输到名为showmessage.PHP的PHP文件中。然后showmessage.php将处理消息和URL,然后使用CSS和JS作为普通HTML输出

当我用jquerymobile和PHP完成一个快速响应的Web时,我现在正在美化一些数据转换和弹出窗口

我现在面临两个问题:(第一个问题解决了)

我有一个“ShowMessage”函数,可以显示指定的消息和重定向URL。一旦用户单击“确定”按钮,它将被重定向

PHP本身工作得很好,但jQuery Mobile却不行。PHP要做的是将一些消息和URL传输到名为showmessage.PHP的PHP文件中。然后showmessage.php将处理消息和URL,然后使用CSS和JS作为普通HTML输出

当PHP完成其工作时,将显示页面。我测试了4种浏览器(主要是Chrome和Safari,因为该网站面向移动设备用户,主要是使用浏览器)。Chrome按预期工作(虽然有点移位,但我会努力解决),Safari没有

showmessage中的HTML使用jQuery Mobile的“弹出”功能,在正常情况下,页面将自动弹出并显示对话框和“确定”按钮。用户单击“确定”按钮后,它将被重定向

对于Safari,我可以看到对话框出现约0.1秒,对话框消失,留下一个空白页。

我只为我的HTML实现了以下代码:

$(document).on("pagecreate", "#infoMsg", function () {
    $('#infoMsgPopup').popup('open');
});
您可以在JSFIDLE中查看它: (请不要告诉我,由于您没有使用Safari,因此代码可以正常工作。)

上述问题通过评论得以解决
以下问题仍未解决

好的,第二个问题是:
我在页脚有一个导航栏。左侧是主页的按钮,右侧是注销用户

当人们点击“注销”时,它会弹出一条消息(我承认我喜欢使用弹出窗口,因为移动设备喜欢它),并用两个按钮“是”和“否”询问用户“你确定要注销吗?”。如果用户单击“否”,它将返回屏幕,如果用户单击“是”,系统将注销用户

    <div data-role="navbar">
        <ul>
            <li><a href="index.php?p=main" data-transition="pop" data-direction="reverse" data-icon="home">Home Page</a></li>
            <li><a href="#logoutMsgPop" data-rel="popup" data-position-to="window" data-transition="pop" data-icon="power">Logout</a></li>
        </ul>
    </div>
    <div id="logoutMsgPop" data-role="popup" data-overlay-theme="b" data-dismissible="false" data-history="false" style="max-width: 480px;">
        <div data-role="header">
            <h3 style="margin-top: -1em;">Logout</h3>
        </div>
        <div data-role="main" class="ui-content">
            <p align="center" style="margin-bottom: 1em;">Are you sure to Logout?</p>
            <p align="center">
                <a href="index.php?p=logout" class="ui-btn ui-btn-a ui-shadow ui-corner-all ui-icon-check ui-btn-icon-right ui-btn-inline" data-transition="pop" data-direction="reverse">Yes</a>
                <a href="#" class="ui-btn ui-btn-a ui-shadow ui-corner-all ui-icon-delete ui-btn-icon-right ui-btn-inline" data-rel="back">No</a>
            </p>
        </div>
    </div>

注销 您确定要注销吗

我不知道这个问题是否与URL有关

实际上,几乎每个链接后面都有一个问号“?”(例如:index.php?page=main),如果我单击了#logoutMsg(该链接将弹出一个对话框),有时它会失败。我不知道为什么它有时会开火,有时不会,我来这里是为了一个解决方案


多谢各位。我希望你们不会认为这是TL;DR.

对于第一个问题,可能使用pagecontainer小部件的show事件,并在启动弹出窗口之前添加一个小延迟:感谢您的帮助,但对Safari没有影响。忽略不计,showmessage有效,谢谢!