在我的项目中,每个页面都有大量的函数,所以我将它们放在一个javascript文件common.js
中并将其包含在我的页脚模板中。我的问题是,处理特定于页面的javscript的最佳方法是什么?
例如,在我的某个页面上,我有一张谷歌地图。如果我的地图js代码在我没有id map_canvas的元素的页面上运行,我会收到错误。
方法1:我可以编写一些PHP,当且仅当我在地图页面上时,才会回复请求map.js
的附加脚本标记。
方法2:我可以为我的地图页面的<body>
提供“map_page”的ID,然后我可以在common.js
中按以下方式编写条件子句:
if (#map_page exists){
put contents of map.js here
}
方法1的问题在于它增加了对服务器的请求数。 方法2的问题在于它使我的常见javascript文件膨胀。
请有人解释一下,如果有任何方法可以做到这一点,或者如果两者都不合适,我应该做些什么呢?
我有大约10个特定于页面的javascript文件要处理。
由于
答案 0 :(得分:0)
我会说更简单更好。在每个页面上,只需添加一个调用map.js的脚本标记。或者,在您的common.js中,您不需要粘贴所有map.js的代码。您可以使用js创建一个新的脚本标记,并像这样调用map.js。我不推荐使用php方法。最简单,最简单,因此最不可能是错误的方法,只是为需要它的页面添加另一个脚本标记。或者,如果这不是一个选项,common.js可以包括:
if(need map.js){
var mapjs=document.createElement("script");
mapjs.type="text/javascript";
mapjs.src="map.js";
document.body.appendChild(mapjs);
}