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

複数のjsファイルをカンマ区切りで、
<script type="text/javascript" src="a.js,a.js,c.js"></script>
と読み込みたいと思っております。
しかしサーバーの設定なのか一つも読み込まれずに行き詰っております。
原因はどこにあるのでしょうか?

A 回答 (5件)

> じつは


> http://dogmap.jp/2008/01/16/supercharged-javascr …
> をしようとしているのですが、

こちらの方は、まったく別の構造でjsファイルを読み込んでますね。
> <script src = "scripts/yahoo.js, dom.js, event.js, dragdrop.js, slider.js">
といった記述では、
1. ブラウザはWWWサーバに「scripts/yahoo.js, dom.js, event.js, dragdrop.js, slider.js」という一つのファイルを要求する。
2. WWWサーバは、リクエストを「scripts.php?file=yahoo.js, dom.js, event.js, dragdrop.js, slider.js」に変換する(.htaccessの設定)
3. 「scripts.php」というPHPスクリプトに「file=yahoo.js, dom.js, event.js, dragdrop.js, slider.js」という引数を渡して起動する。
4.PHPスクリプトは、引数を「javascriptファイルがコンマ区切りで複数指定されている」と解釈して「連結したJavaScriptファイルを返す」
5.結果として、ブラウザは<script src="scripts/…">で指定した複数のjsファイルを連結したものを受け取る

という流れになります。
ブラウザ側は1個のファイルをサーバに要求して、1個のファイルを受け取ってるだけです。
決して、HTMLの文法として、script src= で、コンマ区切りで複数のファイルが指定できるわけではありません。

この方法は、.htaccess で WWWサーバの動作を指定して、2のURL書き換えを行うのが最大のキモです。それが出来ないと、このPHPスクリプトはまったく動作しません。確認方法としては、

> <script src = "scripts.php?file=yahoo.js, dom.js, event.js, dragdrop.js, slider.js">
と指定してJSファイルの読み込みが出来るなら、「PHPスクリプトは動作しているが .htaccessの記述がうまくいっていない」という状況で、
動作しなければ、「PHPスクリプトが正しく動作していない」
ということになります。
    • good
    • 1

a.js?b.js,c.js


a.js の引数に b.js,c.js を設定することで、a.js を function と見立てて b.js , c.js がマージされるのですね。
    • good
    • 1

こんにちは。



動作確認したわけでないのですが、
質問者様が開示したURLのやりかたですと
<script type="text/javascript" src="a.js,a.js,c.js"></script>
ではなくて

<script type="text/javascript" src="a.js?b.js,c.js"></script>
とかではないでしょうか。

一つ目の後を?でつないであとはカンマと書いてあります。
    • good
    • 1

なるほど、そんなやり方があったのですね。


参考サイトの例をよく見ると
<script type="text/javascript" src="○○○.js?△△△.js,×××.js">
</script>
一つ目のJSの後ろに?がついてますね。これが肝ですよ。
私は、やった事ないし、やろうとも思わないし、やる必要性もかんじませんが...

この回答への補足

じつは
http://dogmap.jp/2008/01/16/supercharged-javascr …
をしようとしているのですが、
カンマ区切りでテストしてもjsが読み込まれなかったもので、
説明不足で申し訳ございません。
ちなみに?に左右されないみたいです。

補足日時:2009/11/30 20:52
    • good
    • 0

そのような使い方はできないからです。


<script type="text/javascript" src="a.js"></script>
<script type="text/javascript" src="b.js"></script>
<script type="text/javascript" src="c.js"></script>
と記述するか、
a.js b.js c.js を一つのファイルにマージして
<script type="text/javascript" src="a.js"></script>
とするかです。

この回答への補足

http://digitrick.net/blog/item-582.html
上記のサイトなどで報告されているのですが…

補足日時:2009/11/30 20:34
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています