我想知道是否有一种方法可以故意减慢页面加载速度?
我正在本地主机上测试我的HTML和PHP页面,我想看看当页面加载变慢时我的加载动画等等表现如何。
我意识到这是一个罕见的请求,因为大多数开发人员只关注加速页面加载,但我认为可能有一种方法,使用JavaScript/jQuery或PHP来进行此类测试。
谢谢任何帮助!
注意:我正在MAMP上进行测试,因此是在Mac OS 10.7上运行的Apache服务器。
我想知道是否有一种方法可以故意减慢页面加载速度?
我正在本地主机上测试我的HTML和PHP页面,我想看看当页面加载变慢时我的加载动画等等表现如何。
我意识到这是一个罕见的请求,因为大多数开发人员只关注加速页面加载,但我认为可能有一种方法,使用JavaScript/jQuery或PHP来进行此类测试。
谢谢任何帮助!
注意:我正在MAMP上进行测试,因此是在Mac OS 10.7上运行的Apache服务器。
你可以使用php的sleep($seconds)
函数来延迟页面加载。但是,如果想在页面处理完成前向用户的浏览器发送任何内容,你需要使用ob_implicit_flush(true);
打开隐式输出缓冲区刷新,否则你的页面在加载完成之前不会有任何内容。仅调用sleep是行不通的。
ob_implicit_flush(true);
是php.ini
的一部分吗? - stefmikhail在Chrome中,您可以使用开发人员工具模拟缓慢的互联网连接。该工具位于最右侧的“网络”选项卡下。您可以使用预设值例如“快速G3”,也可以创建自己的上传、下载和ping的确切数值。
参考:https://helpdeskgeek.com/networking/simulate-slow-internet-connection-testing/
<img src="images/gifLoager.php" />
$fp = fopen( $path, 'rb');
while(!feof($fp)) {
print(fread($fp, 1024));
flush();
Sleep(1);
}
fclose($fp);
在输出二进制数据之前,不要忘记适当地设置头部信息。
参考资料:
https://dev59.com/HUnSa4cB1Zd3GeqPQ8lz
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更新setTimeout(function()
{
// Delayed code in here
alert('You waited 5 seconds to see me'); // Waits 5 seconds, then alerts this
}, 5000); // 5000 = 5 seconds
setTimeout()
包裹在什么里面? - stefmikhail<script type="text/javascript">CODE HERE</script>
中,然后将任何想要延迟的内容放在“Delayed code in here”注释所在的位置。请参见修改后的帖子以获取基本示例。例如,您可能默认情况下已经显示了加载GIF,因此将隐藏代码放在超时内,它将等待5秒钟,然后隐藏您的加载GIF。 - Joesleep
。两种方法都是正确的,只是看你想怎么做 :) - Joe你可以使用sleep():
<?php
// Delays for 10 seconds.
sleep(10);
?>
...
html here
...