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

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

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

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

Q&A

解決済

3回答

18955閲覧

onClickで外部JavaScriptファイルを読み込む方法

yoshi123

総合スコア28

JavaScript

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

0グッド

0クリップ

投稿2016/07/06 05:22

サイトとは別の外部の業者が提供しているJavaScriptがあり、このJavaScriptファイルを、ページ内のimgのonClickで読み込むことは可能でしょうか。

動画配信のASP事業者が提供しているJavaScriptなのですが、読み込みと同時に再生してしまい、当方で用意するimgをクリックすることで再生させたい、と考えています。

外部JavaScriptで動的に生成されるものですので、ページ内にあらかじめfunctionを作って、中身を抜き出して入れておいて、onclick=playmovie()、などということができず、どうしたものかと考えています。

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

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

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

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

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

guest

回答3

0

ベストアンサー

権利の問題についてはyambejpさんが言われている通りなのでやり方だけ。

Javascript

1var script = document.createElement("script"); 2script.src = "delay.js"; // 読み込みたい外部JSのURL 3document.body.appendChild(script);

scriptタグを任意のタイミングで生成、srcでURLを指定、bodyにappendすることで、あとからスクリプトを追加出来ます。以下のサンプルでは、ボタンを押すとdelay.jsが読み込まれ、コンソールにdelayと出力されます。

sample.html

HTML

1<html> 2 <head> 3 <script> 4 function delay() { 5var script = document.createElement("script"); 6script.src = "delay.js"; 7document.body.appendChild(script); 8 } 9 </script> 10 </head> 11 <body> 12 <button onclick="delay()">button</button> 13 </body> 14</html>

delay.js

Javascript

1console.log("delay");

投稿2016/07/06 06:30

masaya_ohashi

総合スコア9210

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

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

yoshi123

2016/07/06 10:24

ありがとうございます。 まさにこちらのやり方をベースに記述したら要件が実現できました。 助かりました。
hideprog

2019/06/17 10:30

外部から申し訳ございません、 同じように、画像クリック時に自サイトないのjsを呼び出すにはどのように記述すればようでしょうか??
guest

0

必要なjavascriptがすべて外部化されていて、自サイトがその仕様に
完全に合わせることができるなら、公開されたjavasriptは流用することが可能でしょう
ただし外部のスクリプトに著作権があるかどうかは別の話。
他人の権利物を勝手に利用するとそれなりのペナルティがありますのでご注意ください

投稿2016/07/06 05:30

yambejp

総合スコア115249

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

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

yoshi123

2016/07/06 05:36

早速の回答、ありがとうございます。 質問の仕方がわかりづらかったようで申し訳ありませんが、どのように流用するのか、技術的なコーディング方法を知りたいのです。 ご存知でしたら教示いただけると助かります。
yambejp

2016/07/06 05:41

その外部jsファイル次第なので、とりあえず読み込んで該当しそうな関数を 実行して見ながら試すしかないでしょう。 ライブラリ化して公開しているならともかく、そうでないなら イレギュラーなやり方なので一般的なやり方など存在しません。
yoshi123

2016/07/06 10:21

ありがとうございます。 jsファイル内の関数を外部から実行するのではなく、jsファイルをページのロード時以外で(ボタンクリックで)読み込む、という要件になります。 上の方の回答で解決できました。
guest

0

こういうことですか?

JavaScript

1document.addEventListener( 'DOMContentLoaded', function() { 2 document.getElementById( 'test' ).addEventListener( 'click', function() { 3 ( function() { /* ASPの用意しているのってこういうコードですかね? */ } )(); 4 }, false ); 5} );

投稿2016/07/06 06:22

kei344

総合スコア69498

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

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

yoshi123

2016/07/06 10:23

回答ありがとうございます。 ASPのコードはブラックボックス(もちろんダウンロードすれば内容はわかりますが)で、当方ページ内にはjsファイルの内容は記述できず、jsファイルを任意のタイミングで読み込む、という要件で、上の方の回答で解決できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.44%

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

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

質問する

関連した質問