2

在我的项目中,我在每个页面上都使用了大量函数,因此我将它们放在一个 javascript 文件中common.js,并将其包含在我的页脚模板中。我的问题是,处理特定页面的 javscript 的最佳方式是什么?

例如,在我的一个页面上,我有一张谷歌地图。如果我的地图 js 代码在没有 ID 为 map_canvas 的元素的页面上运行,则会出现错误。

map.js方法 1:我可以编写一些 PHP,当且仅当我在地图页面上时,它会回显一个额外的脚本标签请求。

方法2:我可以给<body>我的地图页面的id“map_page”,然后我可以写一个条件子句,common.js如下所示:

if (#map_page exists){
    put contents of map.js here
}

方法 1 的问题在于它增加了对服务器的请求数。方法 2 的问题在于它使我的常见 javascript 文件膨胀。

请有人解释一下,如果有的话,哪种方法是首选的方法,或者如果都不合适,我应该怎么做?

我有大约 10 个特定于页面的 javascript 文件要处理。

谢谢

4

1 回答 1

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);
}
于 2013-01-31T14:26:18.863 回答