调用在页脚中加载的函数
Call function which was load in footer
在php foreach中,我会使用客户端时区转换日期。
事实上,它不起作用:
<html>
<body>
<?php foreach ($topic as $post) { ?>
<span id="date">
<script type='text/javascript'>
document.write(window.date('<?php echo $date;?>'));
</script>
</span>
<?php } ?>
<script type='text/javascript'>
function date(VarDate) {
var b = VarDate.split(/[: ]/g);
var m = {jan:0, feb:1, mar:2, apr:3, may:4, jun:5, jul:6, aug:7, sep:8, oct:9, nov:10, dec:11};
var isoTime = Date.UTC(b[7], m[b[1].toLowerCase()], b[2], b[3], b[4], b[5]);
var date = new Date(isoTime).toLocaleDateString(navigator.language, {day: '2-digit', month:'2-digit', year:'2-digit'});
var time = new Date(isoTime).toLocaleTimeString(navigator.language, {hour: '2-digit', minute:'2-digit'});
return time + ' · ' + date;
}
</script>
</body>
</html>
当我把函数放在循环之前时,它就可以工作了,但脚本是在页脚中启动的,以优化加载。
我正在寻找更好的东西。抱歉我英语不好。
正如Sanchit所说,您可以重写
document.write(window.date('<?php echo $date;?>'));
部分,如下所示(如果您使用jQuery)
$(document).ready(function(){
// write here where needed: using jQuery the $('') approach is the easiest way
});
通过这种方式,一旦所有脚本都加载到页面中并定义了所有函数,就会执行脚本。无论如何,在这种情况下,如果在页脚中移动此函数定义,则保存的字节将部分用于在页面准备就绪时激发脚本所需的开销。
根据$topic中$post的数量,这种方法可能会减慢加载时间。也许,将定义放入包含在页面标题中的外部Javascript(这样浏览器就可以缓存它)会更快。
相关文章:
- 如何通过ajax增加/减少PHP变量值并重新加载函数
- 加载所有内容时的加载函数
- 通过加载函数发送一个变量
- Javascript - 加载函数运行时未定义的变量
- 如何在插入按钮时使其自身加载函数
- 如何在 onclick 事件后加载函数
- jQuery加载函数后,jQuery UI自动完成功能不起作用
- 在jquery循环幻灯片中使用加载函数而不是就绪函数
- 使用JavaScript加载函数初始化幻灯片
- 得到"未定义“;从外部javascript加载函数
- 如何重用 ajax 表单加载函数打开多个选项卡,每个选项卡具有不同的参数
- 我有一个用于 onclick 的窗口加载函数 如何添加 onblur 事件并合并为一个
- 当我在 reactjs 中单击按钮时如何加载函数
- 如何使用窗口加载函数使我所有的 javascript 都外部化
- JQuery 加载函数页面加载问题
- 加载函数在满足 jQuery 中的 if 条件后不起作用
- j查询重新加载函数
- 加载函数修订以检查表单的值
- 未正确调用 jQuery 图像加载函数
- jQuery在表单仅提交一次后加载函数