iOS7 / Safari的Angular.js + Socket.io图像渲染问题

时间:2014-07-30 16:23:11

标签: javascript ios angularjs safari socket.io

我正在使用Angular.js(版本1.2.21)和Socket.io运行Web应用程序,以进行简单的基于图像的聊天。 (单击图像,图像链接将发送给聊天室中的其他人)。消息将添加到$ scope.messages并循环使用:

   <div ng-repeat="message in messages">
    <p>{{message.user}}</p> 
    <p ng-bind-html="message.text | unsafe"></p>
    <p>{{message.time}}</p> 
    <hr>
  </div>

其中{{message.text}}类似于"<img src='/img/test.png'>"

为了在Angular中渲染图像,我添加了#34; unsafe&#34;清理过滤器到{{message.text}}

.filter('unsafe', function($sce) {
    return function(val) {
        return $sce.trustAsHtml(val);
    };
})

除了运行Safari / iOS7(iphone,ipad)的设备外,所有设备(Android,桌面设备)上的图像加载速度非常快。

当用户的新聊天添加到聊天的$ scope.messages供稿中时(通过推送到$ scope.messages数组的末尾),它不会显示已清理的<img>(&& #39;空白)但确实在Feed中显示其他消息信息{{message.user}}{{message.time}}

大约10秒后,已清理的<img>可能会加载到设备上,但并非总是如此。

如果有来自其他设备的传入聊天,则所有未渲染的图像会突然显示正确。

1 个答案:

答案 0 :(得分:0)

好的,所以我发现了问题。 nginx需要升级到1.4.4

有关具体操作的更多信息,请点击此处: http://www.slashgeek.net/2013/05/08/how-to-get-the-latest-nginx-on-ubuntu-12-04-2-lts-precise-pangolin/

在这里: WebSocket connection failed with nginx, nodejs and socket.io