質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

3回答

3940閲覧

複数jsファイルによる連携

Takahito

総合スコア66

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2016/06/26 03:31

一般的には

<script src = "⚫️⚫️.js"></script>

とひとつだけ付けて、jsファイルを読み込みhtmlファイルを動かすということを行うと思うのですが、これを複数のhtmlファイルに共通のものをつけることによって、
htmlファイル間でデータの受け渡しができるのではないかと考えたのですが、不可能なのでしょうか?

具体的には、

<p id="1stMsg">異なるhtmlファイルに送りたいメッセージ</p> を1つ目のhtmlに記し。

2つ目のhtmlにて

<p id="getMsg"></p> と記し。

jsファイルにて

$('#getMsg').text($('#1stMsg').text());
と記すことによって、動作すると考えたのですが、これだと文字列の表示を2つ目のhtmlにて行うことはできません。

何か問題をわかる方、ご教示していただきたいです。

宜しくお願いします!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

複数のHTMLから同じJavaScriptファイルを読み込んだ場合、それぞれのHTML上でJavaScriptは独立して動作します。そのため、期待するような動作はできません。

どういうことか言うと、<script src = "○○.js"></script>と書いた場合、<script>...(○○.jsの中身)...</script>と同じ動作をします。つまり、外部からの読み込みであっても、おなじHTML上に展開された物として扱うと言うことです。二つのHTML、a.htmlとb.htmlがx.jsを読み込んでいるとしましょう。a.htmlが使うx.jsはa.html内部に展開されて実行されます。同様に、b.htmlが使うx.jsはb.html内部に展開されて実行されます。この二つは互いに独立に、それぞれのHTML上で実行されてしまうため、別の仕組み(クッキーとかローカルストレージ)とかが無い限り、連携することはできません。

なお、外部スクリプト読み込みが意味が無いのかというとそうではありません。ブラウザがキャッシュしてくれるため、転送量の削減ができます。同じ動作をさせる場合はコードを統一して保守管理がしやすくなるというメリットもあります。

投稿2016/06/26 04:01

raccy

総合スコア21735

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Takahito

2016/06/26 14:30

ありがとうございます。 クッキーとかはそのような問題を解決することができるものなのですね。 まだ、その言葉自体にもほとんど触れて来なかったのでイメージは付きませんが少し知識をつけてみたいと思います。
guest

0

ベストアンサー

ブラウザで動くJavaScript がアクセスできるHTMLは、基本的に開いたページ内とAjax通信によって得られたHTMLのみです。

以前の質問の続きかと思うのですが、一度HTMLやJavaScript について書籍などで体系だてた解説を読まれることをお勧めします。

【JavaScript - 「他のhtmlが使われているかの確認」は、できますか?(38889)|teratail】
https://teratail.com/questions/38889


JavaScript ならとりあえず下記がお勧めです。とりあえず最初はわからないことのほうが多いと思いますが、そのうち腑に落ちることも多いはずなのでお勧めします。

【JavaScript 第6版 : David Flanagan, 村上 列 : 本 : Amazon.co.jp】
http://www.amazon.co.jp/dp/4873115736

【絶対に読んでおきたい、JavaScriptのおすすめ書籍7冊 - Qiita】
http://qiita.com/axross/items/1fc342c04aa88d48c713

【JavaScript本格入門 ~モダンスタイルによる基礎からAjax・jQueryまで : 山田 祥寛 : 本 : Amazon.co.jp】
http://www.amazon.co.jp/dp/4774144665

投稿2016/06/26 04:10

kei344

総合スコア69407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Takahito

2016/06/26 14:29

ありがとうございます! 以前の続きから派生した問題です。 これまで、何のためにAjaxとかがあるのかということ自体がよくわからなかったのですが、少し意味がわかってきた気がします。 もう一度、kei344さんに挙げていただいたような本をちゃんと読んでみてその辺りのキャッチアップをしたいと思います。 気づかせていただいて本当にありがとうございます。
guest

0

それが出来ないからCookieとかセッションの仕組みがあるわけです。

HTTPは、ステートレスという状態を保存できないプロトコルなので、
そういうめんどくさいことが必要ですが、広まってしまったのでそうするしか無いみたいなね。

投稿2016/06/26 05:20

Mr_Roboto

総合スコア2208

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Takahito

2016/06/26 14:26

ありがとうございます! そうなんですね。 それができないという事実を今日知りました。 その辺りについての知識が全然ないので、少し学ぼうと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問