如何在生成整个页面(通过PHP动态)之前预加载.css和.js文件
How do I preload .css and .js files, before the whole page (dynamic by PHP) is generated
我的主页(index.php)是由php动态生成的,因此大约需要1s才能将页面交付给用户。
因为我的css和js脚本在(index.php)的头中,所以在1s之后,css和jss将开始下载。
是否有一些预加载这个js和css文件的通用方法?
我的建议是删除index.php的所有内容,只包括<'head>用我的css和js文件,然后做一些js来加载整个indexOriginal.php(用php在我的服务器上生成的动态内容),所以这应该可以让用户下载与indexOriginal.php并行的css,js。
这是合适的人行道吗?
您建议的方法可以奏效。您还可以考虑修改您的PHP脚本,以便在开始将页面的其余部分组合在一起之前快速交付页面的第一部分(从<html>
到<body>
)(请参阅http://php.net/manual/en/function.flush.php)。
您的页面由后端生成,并在php脚本结束工作后仅发送给用户。
例如,您可以创建类似页面的。
<html><head><script></script></head><body></body></html>
例如,在<script></script>
加载中,JQuery并执行类似的操作
$(document).ready($('body').load('/path/to/your/script.php'))
但我真的认为这不是一个好的做法。此外,我不认为谷歌会用这个解决方案解析你的网站内容。
我认为你应该更好地了解你的JS(压缩、gzip、拆分为多个文件并从不同的CDN上传,将所有内容移动到$().ready等)
我的建议是让您的初始PHP脚本JUST提供CSS和JS标记。加载后,使用JavaScript进行AJAX调用,获取页面的其余部分,然后显示它。或者,您可以在JavaScript中构建页面(这将允许您使用加载图标等来更好地指示用户"页面即将到来")
- 通过单击动态加载的表中同一行的另一个字段来更新一行的字段
- 如何根据对具有多行的先前列表的选择来动态加载下拉列表
- 动态加载和卸载js文件
- 动态加载angularjs并生成控制器和范围
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- 动态加载fancybox并将其连接
- 对插件初始化后动态加载的元素进行样式设置
- 动态加载的自定义javascript/jQuery/HTML5音频播放器的问题
- UIWebview赢得't通过基本身份验证加载动态加载的资源(通过jQuery mobile)
- 使用jquery垂直对齐动态加载的图像
- 在动态加载的对话框中执行Javascript
- angularjs-bindng-click从jquery动态加载DOM
- 在动态加载的html中使用角度控制器
- 如何使用Javascript在FireFox中将html从内存动态加载到iframe中
- 使用systemJS的相对动态加载,使用ES6/Babel语法
- 为什么动态加载的事件在我的代码中不能正常工作
- 在不同的域上动态加载样式表;不适用于Firefox
- 在动态加载的PHP表单上放置JavaScript事件
- 在混合基本 URL 下动态加载 require.js 模块
- 动态加载引导模式主体