• ベストアンサー

jsの実行について

index.htmlでcommon.jsを読み込んでいます。内容は書きの通りです。 $(document).ready(function() { //実行1 $.updnWatermark.attachAll(); //実行2 $('textarea.resizable:not(.processed)').TextAreaResizer(); //実行3 $('#hoge img').hover(function(){ $(this).fadeTo(100, 0.6); },function(){ $(this).fadeTo(200, 1.0); }); }); ページにより異なるのですが全ての実行を必要とするページもあれば実行1と実行2は必要とせず 実行3だけ必要なページの場合もあります。 その場合には実行1と実行2に必要なjsは読み込まないのですがそうすると実行3が機能しなくなります。 必要なjsを読み込んでないのでうまく処理できずエラーになっているのでしょうか? 実現したい事はcommon.jsは現状の通り実行するfunctionの定義リストとしページに異なり 実行するものを選定したいのですがどうすればできるのでしょうか? 単純に実行したいhtml内に直接functionを書けば問題ないのですができればcommon.jsでまとめたいと 思っております。 このような事が実現できる方法がございましたら教えてください。宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

>○○ページとxxページ(複数のページ)で利用したい場合にはどうする >べきかという質問でした。 通常はスクリプトを外部ファイルにしておいて、同じものを複数ページで利用する方法をとります。 その際に#1様のおっしゃるように、共通性のあるものはまとめ、個別のものは個別にしておくなど整理しておけば、読み込む側で選択できるので面倒なケースわけする必要もなくなるのでは? 例えば… --- PAGE1.html--- <html> <head> <script type="text/javascript" src="/js/common.js"></script> <script type="text/javascript" src="/js/実行1.js"></script> </head> <body>  ・・・・・ --- PAGE2.html--- <html> <head> <script type="text/javascript" src="/js/common.js"></script> <script type="text/javascript" src="/js/実行2.js"></script> <script type="text/javascript" src="/js/addition.js"></script> </head> <body>  ・・・・・ --- PAGE3.html--- <html> <head> <script type="text/javascript" src="/js/実行3.js"></script> </head> <body>  ・・・・・ みたいな感じ。 質問の意味を勘違いしていましたら失礼。

dcx147
質問者

お礼

お返事ありがとうございます。 必要な処理でまとめて外部ファイル化して必要な分だけ読み込むという方法ですね。 1つのjsでそのような事をやろうとしていたのがそもそもの間違いだったようなので そのような方向でまとめてみたいと思います!

その他の回答 (2)

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

それでしたら、そのjsが読み込まれているhtmlファイル名を 取得して、ケース分けするしかないかと 例えば、 switch(window.location.href){ case "http://xxx.yyy.zzz/○○.html": ------ break; case "http://xxx.yyy.zzz/××.html" || "http://xxx.yyy.zzz/△△.html" ------ break; default: ----- break; } とか、 自分が読み込まれているhtmlファイル名取得のメソッド って何かあったかなあ

dcx147
質問者

お礼

お返事ありがとうございます。 jsは全くわからないのでひとまずアドバイス頂いた方法で試してみたいと思います。 この他に方法があれば引き続き回答をお待ちしております。

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

各htmlに共通の処理のみcommon.jsにまとめ、個別の処理は個別のjsにして 各々のhtmlに追加ロードさせるのが、最も管理しやすいと思うのですが、 それがcommon.jsを使うの発想だったんではないですか? 何のためにまとめたいのかがわかりません。

dcx147
質問者

お礼

お返事ありがとうございます。 目的はその通りなのですが単純に○○ページだけのみ使用するとの事であればhtmlに書くのですが ○○ページとxxページ(複数のページ)で利用したい場合にはどうするべきかという質問でした。 情報不足だったようで申し訳ございません^^;

関連するQ&A

専門家に質問してみよう