使用
是否存在性能问题?<script src='javascript.php'></script> //.php
代替
<script src='javascript.js'></script> //.js
javascript.php(需要它来访问会话值)
<?php header("Content-type: application/javascript"); ?>
$(function() {
$( "#progressbar" ).progressbar({
value: <?php echo $_SESSION['value'] ?>
});
// ... more javascript ...
这是一个性能问题,但不是您可能期望的原因。的确,解析PHP文件比提供静态JS文件多花几分之一秒的时间,但真正的杀手是无法缓存PHP文件,因为它包含一个不断变化的变量。客户端必须一次又一次地下载文件。
正确的方法是在HTML文件中设置JavaScript变量。
<script>
var session = <?php echo json_encode( $_SESSION[ 'value' ] ); ?>;
</script>
<script src='javascript.js'></script>
javascript.js:
$(function() {
$( "#progressbar" ).progressbar({
value: session
});
现在可以安全地缓存脚本文件,因为它保证具有静态内容。
这是一个观点问题,但"更正确"的方法是使用AJAX调用从服务器提取任何动态值。
PHP版本会比较慢,因为你必须在服务器上运行PHP来生成Javascript。
在客户端上不会有任何性能差异。它不关心JS是如何创建的,它只是文本。