ブログBlog

BASEから読み込んだ文章をJavaScriptで扱う場合

BASEやShopify、MakeShopなどECサイトプラットフォームでは、HTMLのカスタマイズ用のパラメータが準備されており設定画面から登録したデータなどが扱えるようになっています。今回は、BASEを例に設定画面から登録した文章などをJavaScriptなどで扱う場合には工夫が必要なので、そのメモ書きとなります。

 

BASEのデザインオプションについて

BASEのデザインオプションでは、設定された「文章」を読み込んでECサイトに反映する事ができます。そのままHTML文の中に埋め込まれる分には問題はないのですが、これをJavaScriptなどを使って変数に格納して利用しようとすると、その文章内に改行が入っているような場合、JavaScriptではシンタックスエラーとなります。

「BASEのデザインオプション」
https://docs.thebase.in/docs/template/syntax/designoption

 

具体的な例

BASEの「カスタムHTML」で以下のような設定パラメータを設け、BASEの「カスタムHTML」の設定画面からデータが設定された場合、そのデータ(文章)に改行付きで入っている場合、起こり得ます。

 

「カスタムHTML」で設定されたデータの取得は、上記の場合ですと、以下で取得できます。
{text:CategoryDescription}

この取得したデータが例えば、改行付きで以下のような文言の場合、JavaScriptで扱おうとすると当然ですが、シンタックスエラーとなります。

 

“スマートフォンが益々便利になる一方で、こんな事は感じませんか。
集中できない。
生活習慣の乱れ。
コミュニケーションの阻害。
デジタルデトックスとは、現実世界でのコミュニケーションや、
自然とのつながりにフォーカスしようという取り組みです。”

 

JavaScript(jQuery)

 

上記ソースの場合、設定されたデータを変数に入れようとしたところでシンタックスエラー(以下参照)となります。

 

var categoryDescription = “スマートフォンが益々便利になる一方で、こんな事は感じませんか。
集中できない。
生活習慣の乱れ。
コミュニケーションの阻害。
デジタルデトックスとは、現実世界でのコミュニケーションや、
自然とのつながりにフォーカスしようという取り組みです。”;

 

対処の考え方

取得した値の改行を取り除けば解決はできますが、当然、意図的に入れた改行を無視してしまうので、根本解決にはなりません。そのため、解決するための考え方としては、本文章をコメントアウトしシンタックスエラーを回避した上で、コメントアウトが入っているものとして操作し、<br>の改行を入れるなどすれば解決できます。

以下の様なイメージです。

var categoryDescription = “/*スマートフォンが益々便利になる一方で、こんな事は感じませんか。
集中できない。
生活習慣の乱れ。
コミュニケーションの阻害。
デジタルデトックスとは、現実世界でのコミュニケーションや、
自然とのつながりにフォーカスしようという取り組みです。*/“;

コメントアウトされるので、シンタックスエラーとならない。

 

対処の方法

コメントアウトした文章を、toString.matchの正規化表現で/* */の間の文章を取得し、さらに、replace関数を使って改行(/r/n)を取り除き、<br />に置き変えるなどの操作をすれば解決できます。

改行を<br />に置き換える操作

var categoryDescription = (function(){/*スマートフォンが益々便利になる一方で、こんな事は感じませんか。
集中できない。
生活習慣の乱れ。
コミュニケーションの阻害。
デジタルデトックスとは、現実世界でのコミュニケーションや、
自然とのつながりにフォーカスしようという取り組みです。*/}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1].replace(/\n|\r/g, “<br />”);

 

これで解決できます。

WEB DESIGN

RishunTradingでは、日本にはないコンセプトや高いデザイン性をもったヨーロッパ製品の輸入販売、及び、Webサイト制作事業などをおこなっております。

「全てお任せ!ホームページ制作」は、ドメイン取得からサーバー設定、レスポンシブルデザイン(スマホ、タブレット対応)、SEO対策がすべて含まれたお得なホームページを制作するサービス商品です。

運用開始後に「Webサイト運用管理サービス(保守)」と組み合わせて購入しますと、メンテナンス、更新も含めてすべて弊社で実施しますので、お客様は安心して本業に集中する事ができます。

しかもなんと、「全てお任せ!ホームページ制作」は、¥100,000!で提供しております。

本業が忙しい中小企業様に大変ご好評を頂いている商品です。

  • 独自ドメイン取得

    独自ドメイン取得

  • サーバー開設&設定

    サーバー開設&設定

  • レイアウト設計

    レイアウト設計

  • レスポンシブルデザイン

    レスポンシブルデザイン
    (*1)

  • 検索エンジン最適化(SEO対策)

    検索エンジン最適化
    (SEO対策)

  • 場所Maps

    場所Maps

  • お問い合わせフォーム

    お問い合わせフォーム

  • SSL化

    SSL化

  • 各種SNS連携

    各種SNS連携

  • 運用マニュアル

    運用マニュアル

≫詳細はこちら

MENU