1

每个请求可以多次向浏览器发送数据吗?例如,我的 CMS 将安装一些模块,我想将信息发送到浏览器(下载模块、解压模块、安装模块……)并更新一些 div 或其他东西以获得更好的 UI 感觉。也许使用闪光灯?

4

3 回答 3

3

我在我的网络应用程序中做了类似的事情。getstatus.php是一个文件,它返回诸如 , 之类的东西downloading module...unpacking module...它由运行所有这些东西的 php 脚本更新,run.phphere。

我在不同的页面上使用以下 javascript 代码(使用 jQuery)load.php来显示进度:

<script type="text/javascript">
    var flag = false;

    $(function() {
        startProcess();
        getStatus();
    });  

    function startProcess() {
        $.get('run.php', function() {
            flag = true;
            window.location = 'example.com/finish.html'; // redirect when finished
        });
    }

    function getStatus() {
        $.ajax({
            url: 'getstatus.php',
            success: function(data) {
                // do something with the output of getstatus.php here
            }
        });
        setTimeout("getStatus()",500);
    }
</script>
于 2012-05-26T19:34:35.420 回答
0

如果您的操作(下载、安装等)阻止了脚本的执行,您可以简单地在每个操作之间放置一条消息。否则,您可以尝试使用 Web 套接字。

于 2012-05-26T19:34:48.097 回答
0

使用 Ajax CORS:

如何通过 JavaScript 通过 TCP 套接字进行通信?

http://remysharp.com/2011/04/21/getting-cors-working/

这是模拟实时通信的技巧。

祝你好运

于 2012-05-26T19:36:54.913 回答