我有一个网站,其中总动态内容非常小(比如说<50k)。该网站本身只是一个5-10页的大多数香草HTML的集合。为了将标题等与其他内容分开,我通常使用AJAX(这样,每当用户点击某些内容时,或者事先就让AJAX查询获取相关的HTML)。
在这种情况下,由于动态内容非常小,因此执行10个AJAX查询来加载所有内容似乎是不必要的(并且浪费)。问题是:“是否存在服务器端方式使用其他文件中的文本加载javascript变量而没有Web请求?”
我问的原因是,我可以很容易地手动执行此操作,只需使用加载了变量的.js文件:
var page1 = "<p>Here's some web content!</p>"
var page2 = "<p>And some more!</p>"
问题解决了。除了现在我的内容与我的Javascript混淆了,我不得不担心转义引号,我在缩进地狱,等等。我当然可以做服务器端脚本(在php或ruby或其他任何东西),但对于这么简单的事情,这似乎有点重量级。
有没有更简洁的方法可以在服务器端完成此操作?我将取“否”作为答案,在这里,如果这是最好的。
答案 0 :(得分:1)
您可以通过<script type="text/javascript" src="myJavaScriptGlobals.php"></script>
让PHP动态地将所有数据拉到一起,并输出有效的JavaScript。
echo '
var page1 = "'.str_replace('"','\"',$page1ContentFromFOPEN).'"; // escape double quotes
';
这使得您无需在页面加载后执行任何http请求,并从page1
等已分配的变量实现即时内容加载。
更新为仅删除双引号