我很好奇是否存在故意减慢页面加载速度的方法?
我正在测试我的HTML&我的本地主机上的PHP页面现在,我想看看当页面加载速度较慢时我的加载gif等将如何执行。
我意识到这是一个罕见的请求,因为大多数开发人员只关心加速 up 页面加载,但我认为可能有一个方法,使用javascript / jQuery或PHP,做类似的事情这用于测试目的。
感谢您的帮助!
注意:我正在测试MAMP,以便在Mac OS 10.7上运行Apache服务器
答案 0 :(得分:15)
您可以使用php的sleep($seconds)
功能来减慢页面加载速度。但是,如果您希望在处理页面之前将任何内容发送到用户的浏览器,则需要将implicit output buffer flushing to "on"与ob_implicit_flush(true);
一起转动。否则,在完成加载之前,您的页面将不会包含任何内容。单独打电话睡觉是行不通的。
答案 1 :(得分:4)
在Chrome中,您可以使用开发者工具模拟缓慢的Internet连接。在最右边的“网络”标签下。您可以使用“ Fast G3”之类的预设,也可以创建自己的数字,以进行上传,下载和ping操作。
参考:https://helpdeskgeek.com/networking/simulate-slow-internet-connection-testing/
答案 2 :(得分:3)
这是我会尝试的: 使用php资源作为图像的来源:
<img src="images/gifLoager.php" />
在gifLoader.php中,读取你的图像文件,在循环中延迟输出它。
$fp = fopen( $path, 'rb');
while(!feof($fp)) {
print(fread($fp, 1024));
flush();
Sleep(1);
}
fclose($fp);
在输出二进制数据之前,不要忘记适当设置标题。
<强> Referrences:强>
http://stackoverflow.com/questions/1563069/stream-binary-file-from-mysql-to-download-with-php
http://php.net/manual/en/function.sleep.php
http://www.gamedev.net/topic/427622-php-and-file-streaming-script-with-resume-capability/
更新2015-04-09 使用Chrome'设备模式': 此工具具有网络限制功能,可让您查看网页在网络带宽较慢的设备上的呈现方式。它还具有许多其他功能,可以模拟各种设备上的功能,如屏幕尺寸和触摸。
答案 3 :(得分:3)
Moussa有正确的想法。测试慢速页面加载的最佳方法是使用Chrome的开发人员工具。选择网络选项卡,然后单击“无限制”下拉列表。然后将页面更改为所需的速度。
这种方式优于使用睡眠功能,因为您不必乱用任何代码,然后记得将其取出。如果你想改变速度,只需改变节流水平就可以了。
有关限制check out the docs的更多信息。
答案 4 :(得分:1)
您可以使用sleep():
<?php
// Delays for 10 seconds.
sleep(10);
?>
...
html here
...
答案 5 :(得分:0)
JS setTimeout的一点点可以做到这一点
setTimeout(function()
{
// Delayed code in here
alert('You waited 5 seconds to see me'); // Waits 5 seconds, then alerts this
}, 5000); // 5000 = 5 seconds
答案 6 :(得分:0)
在PHP代码中调用sleep()
以将请求延迟到服务器。
答案 7 :(得分:0)
你可以使用sloppy local web proxy来减慢连接速度(它在JAVA中,所以它可能会在你的开发机器上运行。你可能还想关闭mod_deflate用于测试目的,如果你想要如此浏览器响应缓慢的HTML加载(例如,动态调整大小的HTML表格等)
另请参阅webmasters.stackexchange.com上的this question