アプリ版:「スタンプのみでお礼する」機能のリリースについて

drupalというcmsを使ってサイトを運営しております。
このCMSはJS injectorというモジュールを使ってJavaScriptのコードを挿入できるようになっています。

JavaScriptのコードの記入欄には下記のように書かれています。
「The actual JavaScript code goes in here. There is no need to insert the <script> tags.」
翻訳してみると下記のような意味です。
「実際のJavaScriptコードがここに入ります。 <script>タグを挿入する必要がない。」

planBCDというサイトのサービスを利用したいと思っていて
挿入したいコードは下記のコードです。
<script type="text/javascript" src="//dwkjexg5kaiww.cloudfront.net/planbcd/*****/**.js"></script>
(****の部分には固有の番号が入ります。)

試しに
「src="//dwkjexg5kaiww.cloudfront.net/planbcd/*****/**.js"」
と入力してみて、表示されたページのhtmlを見てみると

<script type="text/javascript">
<!--//--><![CDATA[//><!--
src="//dwkjexg5kaiww.cloudfront.net/planbcd/*****/**.js"
//--><!]]>
</script>
となっていました。

1、
<script type="text/javascript" src="//dwkjexg5kaiww.cloudfront.net/planbcd/*****/**.js"></script>
から<script>タグを外したら
src="//dwkjexg5kaiww.cloudfront.net/planbcd/*****/**.js"
でいいのでしょうか?

2、
htmlを見ると<!--//--><![CDATA[//><!--  //--><!]]>みたいな余分な部分が含まれているのですがこれでも正常に動作するのでしょうか?

planBCDの管理画面を見ると「トラッキングコードの埋め込みが確認できません。」となっています。
(トラッキングコードの埋め込みを確認できるまでに若干、時間がかかるみたいなのでもう少しまてば確認できるのかもしれませんが・・・)

A 回答 (2件)

う~ん。


<script type="text/javascript" src="xxxx.js"></script>
は、javascriptの呼出しタグであって、内容ではない、ということですかね。
ご提示のような外部呼出しタグは、サーバサイドで動的処理を行い、jsを生成するもので、スクリプト本体の取得は難しいかと思います。

で、Drupalに限らずWordPressなんかでも、TinyMCEを使っているCMSは全部、記事に直接<script>や<css>を打てないので、そういったモジュールが用意されているんですが、また勝手な挙動をします。
恐らく、そいつは入力した項目の前後に、<script type="text/javascript"></script>を入れるのかな。

なら、逆手にとって、

</script>
<script type="text/javascript" src="//dwkjexg5kaiww.cloudfront.net/planbcd/*****/**.js">

とでも入れてみてはどうでしょう?(JSinjector使ってなくて推測です。ごめんなさい)

<script type="text/javascript">
</script>
<script type="text/javascript" src="//dwkjexg5kaiww.cloudfront.net/planbcd/*****/**.js">
</script>

となればしめたもの。最初の<script></script>は内容が空なので無視されます。
ただ、勝手にアンチスクリプトフォージェリとか噛まされてサニタイジングされると化けます。

そうなったらテンプレートにjs書くしかありませんね。
    • good
    • 0
この回答へのお礼

ありがとうございました。
教えていただいた方法を試してみました。
planBCDの管理画面を確認してみたところ
「すべて正常にトラッキングしています」
という表示になりました。
今回の方法は次に何かのタグを貼るときにも使えると思います。
ありがとうございました。

お礼日時:2013/11/16 16:29

0.


<script>タグというのは「<script>」です。「<」から「>」までです。

1.
それでいいです。
(それで正しく動きます、という意味ではありません。後述)

2.
自分の知らないものだからって勝手に余分扱いする神経じゃ今後が心配です。
https://www.google.co.jp/search?q=HTML+CDATA


※本題
いいですか?
「実際のJavaScriptコードがここに入ります」と書かれています。「コードがここに入ります」です。
「コード」とは何ですか?「src="//dwkjexg5kaiww.cloudfront.net/planbcd/*****/**.js"」ですか?違いますよね?
単純に考えてください。HTMLの<script>から</script>の間やJSファイルの中に<script></script>があったら動かないのは分かりますよね?
そこには「JavaScriptのコード」を入れるんです。「JavaScriptのコード」とは何か。「**.js」の中身です。「**.js」の中身を入れる場所なんです。

※念のため
私は「drupal」は知りません。だからそこに入るべきコードが「**.jsの中身」でいいのかどうかまでは知りません。あくまであなたの認識間違いを正しただけです。

この回答への補足

回答ありがとうございます。わからないことが多いので知っている方から見たらとんちんかんな質問になっているかもしれません。申し訳ありません。

補足日時:2013/11/12 11:30
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!