【重要】サービス終了のお知らせ

Discussions

Qライブラリの読み込み

特定のタイミングでライブラリを読み込むって出来ますか?
たぶんできないと思う・・・

AAnswer to: ライブラリの読み込み

yamachan360

最初に読み込むときに条件により… ですとscriptタグをdocument.writeしてしまうことがおおいですが、Strict XHTMLでは実行できなかったり「特定のタイミング」で自由に実施するわけにはいきませんね。

いわゆる Ajax 的なコードで、XMLHttpRequest で取ってきたライブラリ(jsコード)の中身を eval() で実行してみるのはどうでしょうか。クロスドメインへの対応が面倒ですが、jsdo.it でやる場合には問題ないとおもわれます。

ちょうど手元にあった古いdojoのソースでは、以下のような関数でライブラリの追加を実行しているようです。非同期な読み込みコードですので、非同期に幾つか読み込ませたい場合には、完了を待つなど追加のコードが必要になりそうですね。

var injectXHRCode = function(src){
var xhr = new XMLHttpRequest();
xhr.open("GET", src, false);
xhr.send();
eval(xhr.responseText);
}

以上、自分では当サイトにおける動作を試していないので、ハズしていたらスミマセン。

alinavines183


Very good post and clever text you wrote! Welcome to domkrat.org - blog about repair of floors and floor coverings. To lay a parquet so that it did not begin to creak and "walk" in the first month after repair, it will turn out only on an equal floor. The same story with the bath on an inclined surface.site

alinavines183

China lang not understand? but Superbly written article, if only all bloggers offered the same content as you, the internet would be a far better place.. Welcome to http://euroelectrica.ru/ - blog about electrical and wiring. Very often, home craftsmen and even experienced electricians make dangerous mistakes when installing wiring.
Visit interesting sites: http://postroyka.org/ http://stroybud.com/

yamachan360

↑「非同期ではない読み込みコードですので、」の間違いでした。

さて、このサンプルコードを jsdo.it で動作させてみました。
ライブラリも通常のコードと同じように配置したほうがメンテナンスも楽かと思ったのですが、html までついてくるので、その除去コードもはいって少し間抜けなコードになっています。

test00 という関数がライブラリのほうで定義されていて、それを呼ぶだけの簡単なサンプルです。

yamachan360

こちらが呼ばれるライブラリのほうで、test00関数が定義されています。

alinavines183

http://domkrat.org/ - блог о ремонте полов и половых покрытий. Уложить паркет так, чтобы он не начал скрипеть и «гулять» в первый месяц после ремонта, получится только на ровный пол - domkrat.org.

Post a question

You can post JavaScript, HTML, CSS related questions with attached reference to actual codes and get the answers likewise.

Ask a question

  • 1. Click the ‘Post a question’ above

  • 2. Enter question details, reference code, and click ‘Add question’ button

  • 3. Question will be paired with the code on display

Add an answer

  • 1. Choose a question

  • 2. Enter answer details, attach the reference code and click ‘add answer’ button

  • 3. Your answer will accompanied with attached code

Tag