几个月前,我意识到我需要每年使用新链接更新侧边栏。现在,我决定创建一个javascript文件并将其链接到每个页面,而不是遍历每个页面并插入链接(大约20页)。该脚本将创建链接并将其附加到页面。这意味着每次我们需要创建新链接时,我们只需要在javascript文件中添加一行新行,并且更改将反映在每个页面上。基本上减少了浪费在所有页面上并添加新链接的时间。我想知道这是不是很好的做法,可能会出现我未能预见到的问题?
代码如下:
function createVolume (text, link){
var volDiv = document.createElement("div");
var textDiv = document.createTextNode(text);
var linkDiv = document.createElement("a");
linkDiv.setAttribute("href", link);
volDiv.setAttribute("class", "volume");
volDiv.appendChild(textDiv);
linkDiv.appendChild(volDiv);
var d = document.getElementById("e27");
d.appendChild(linkDiv);
}
var bhbHome = createVolume("BHB Home", "bhb.html");
var v76 = createVolume("Volume 76", "bhb76.html");
var v75 = createVolume("Volume 75", "bhb75.html");
var v74 = createVolume("Volume 74", "bhb74.html");
var v73 = createVolume("Volume 73", "bhb73.html");
var v72 = createVolume("Volume 72", "bhb72.html");
var v71 = createVolume("Volume 71", "bhb71.html");
var v70 = createVolume("Volume 70", "bhb70.html");
var v69 = createVolume("Volume 69", "bhb69.html");
var v68 = createVolume("Volume 68", "bhb68.html");
var v67 = createVolume("Volume 67", "bhb67.html");
var v6566 = createVolume("Volume 65 and 66", "bhb_65_66.html");
var v64 = createVolume("Volume 64", "bhb64.html");
var v63 = createVolume("Volume 63", "bhb63.html");
var v626160 = createVolume("Volume 60, 61, and 62", "bhb_60_61_62.html");
var v59 = createVolume("Volume 59","bhb59.html");
答案 0 :(得分:1)
这不是好习惯。您应该使用服务器端代码,例如服务器端包含,php等。这样做对于没有Javscript的人来说是行不通的,并且好的做法就是在服务器端执行。
答案 1 :(得分:1)
不,最直接的解决方案是使用服务器端脚本。
如果您的网页主要是静态的,并且很少更新,那么可以认为它可以正常工作。但实际上,只需使用wordpress或其他东西。
答案 2 :(得分:1)
我可以想到一些缺点,前两个假设代码在DOM准备就绪时运行:
传统的做事方式是使用服务器端包含,所以如果可以,请查看。
答案 3 :(得分:1)
这不是好习惯!!!!!!!!。
使用引用引用为什么它不是一个好的做法和可能的问题
不要假设用户拥有支持动态HTTP内容的服务器
不要假设用户希望搜索引擎获取其链接
答案 4 :(得分:0)
出于维护目的,仅创建一次重复使用的元素绝对是个好主意。但是,我宁愿在服务器端执行此操作,原因如下:
这个列表绝对不完整,但这些话题最让我烦恼。如果由于某种原因您没有机会或知识使用服务器端编程语言,您可能需要深入研究Server Side Includes。这为您想要实现的目标提供了一种非常易于使用的技术,它应该可以在常见的Web服务器上使用。