0

数か月前、サイドバーを毎年新しいリンクで更新する必要があることに気付きました。ここで、各ページを調べてリンクを挿入する (約 20 ページ) 代わりに、javascript ファイルを作成して各ページにリンクすることにしました。スクリプトはリンクを作成し、ページに追加します。つまり、新しいリンクを作成する必要があるたびに、javascript ファイルに新しい行を 1 回追加するだけで、変更が各ページに反映されます。基本的に、すべてのページを調べて新しいリンクを追加する無駄な時間を削減します。これは良い習慣なのか、私が予測できなかった問題があるのでしょうか?

コードを以下に示します。

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");
4

5 に答える 5

1

それは良い習慣ではありません。サーバーサイドインクルード、phpなどのサーバーサイドコードで行う必要があります。この方法では、Javascriptを使用しない人には機能しません。サーバーサイドで行うことをお勧めします。

于 2013-09-11T14:45:24.883 に答える
1

いいえ、最も簡単な解決策は、サーバー側スクリプトを使用することです。

ページが主に静的で、めったに更新されない場合は、うまくいくと思います。しかし、実際には、ワードプレスか何かを使用してください。

于 2013-09-11T14:45:47.203 に答える
1

私が考えることができるいくつかの欠点があります。最初の 2 つは、DOM の準備ができたときにコードが実行されることを前提としています。

  1. ユーザーが最初にサイドバーなしでページを表示し、次にサイドバーを表示するという、再配置効果がある可能性があります。
  2. サイドバーを必要とするページで実行されている他のコードは、サイドバーが作成された後にのみ実行されるようにする必要があります。
  3. (@Sheikh Heera) 検索エンジンによっては、ページ全体をインデックスに登録できない場合があります

物事を行う従来の方法は、サーバー側のインクルードを使用することです。可能であれば、それを調べてください。

于 2013-09-11T14:47:14.473 に答える
1

それは良い習慣ではありません!!!!!!!!.

参考文献を使用して、それが適切でない理由と考えられる問題を引用します

ユーザーが動的な HTTP コンテンツ対応サーバーを持っていると想定しないでください

ユーザーが検索エンジンにリンクを取得することを望んでいると想定しないでください

于 2013-09-11T14:47:18.050 に答える