测试移动Safari Web应用程序,我发现我的标签中的图像img src动态变化。这个src引用了一个url,它生成一个MIME类型为multipart / x-mixed-replace的流mjpeg。更改src注意到浏览器没有关闭与服务器的连接,因此服务器继续处理,好像要求跟随流客户端而不应该这样做并且在DOM中不存在。我已经尝试使用方法remove和清空jquery API并将src分配给null或空字符串,而不会让它们按照它们执行经典浏览器的方式运行。有可能实现这一目标吗?感谢
答案 0 :(得分:0)
如果您仍在寻找答案,我在旧版Chrome中遇到了同样的问题(未使用safari进行测试,但可能是相同的解决方案)并且唯一对我有用的是调用window.stop() 。 这将停止页面中的所有连接,因此如果有不想要停止的内容,您可以将图像放在iframe中并在iframe窗口上调用stop。
添加iframe:
<iframe id="image" src="" seamless="seamless"><p>Your browser does not support iframes.</p></iframe>
添加图片:
var frame = document.getElementById('image');
var img = document.createElement("img");
img.src = myImgSource;
frame.contentDocument.body.appendChild(img);
当您想要更改img src时,请先在iframe上调用此stopLoad函数:
function stopLoad(frame) {
var cw = frame.contentWindow;
if (cw.stop) {
cw.stop();
} else {
cw = frame.contentDocument;
if (cw.execCommand) {
cw.execCommand("Stop", false);
}
}
}
您可能需要为iframe及其内容添加一些样式,以便图像显示为直接在主窗口中。