umeda

JavaScriptで外部ファイルから複数のテキストを読み込む

外部ファイルから 1つのブロックや文言などを
JavaScriptで書き出す手法を便利に使うことがありますが、
(例:更新頻度の高いバナーの置き換え、共通ナビゲーションの書き出し など)
一度に複数の文言を書き換えたい事例がありましたので、まとめてみました。
 

●目的
・更新頻度の高いアンケートフォームの
 「応募締切日」「掲載号」「設問(1)」「設問(2)」「設問(3)」を
 外部ファイル 1ファイルで管理したい。
 ※フォームの挙動に関わる部分は固定。

・外部ファイル化することで先方の担当者が更新できるため、
 コストと制作時間が削減できる。
 

●作成方法
(1) jQueryを使用します。
アンケートフォームのHTMLを以下のように調整。


■HTML
HEAD内: jQueryへのリンクを追加。

<script type="text/javascript" src="js/jquery-1.5.2.min.js"></script>
<script type="text/javascript" src="js/text.js"></script>

BODY内: 「外部ファイルで管理する文言」を表示したい部分に 空div を追加。

<div id="shimekiri"></div>
<div id="keisai"></div>
<p id="question1"></p>
<p id="question2"></p>
<p id="question3"></p>



(2) 外部ファイルで管理する文言を設定します。

■外部ファイル (js/text.js)

$(function(){

// 応募締切日
$("#shimekiri").text("2011年11月23日");

// 掲載号
$("#keisai").text("2011年11月17日号");

// 設問(1)
$("p#question1").text("(1)今週号のご感想をお聞かせください。");

// 設問(2)
$("p#question2").text("(2)天神橋筋商店街でお気に入りのお店はありますか?または行ってみたいお店を教えてください。");

// 設問(3)
$("p#question3").text("(3)現在、気になっているお店・場所・地域はありますか?(例:JR大阪駅界隈)");

// レイアウト調整用CSS
$("p#question1").css("width","300");
$("p#question2").css("width","300");
$("p#question3").css("width","300");

});

※「レイアウト調整用CSS」は、この案件で使用したレイアウトでは、
設問の文言が長すぎた場合にレイアウトが崩れてしまったので、
適切に改行するようにCSSで調整しました。
特に必要なければ削除してください。
 

(3) 次回更新時より、「text.js」の上書きのみで更新ができます。
 

新しいウェブ体験を作ろう TAMのPWA開発
お問い合わせはこちら