お知らせ

Movable Type プロフェッショナル・スタイル MT4.1対応 2008年4月8日

Movable Typeプロフェッショナル・スタイル」が発売されました。
Movable Typeの第一線に関わる人々の共著で、Movable Typeをビジネスサイト構築に活かすテクニックが満載です。
Movable Typeでサイト構築を行っているWeb制作会社等の方々にお勧めです。

他にも多数書籍を執筆しています。
こちらもぜひご覧ください。

Ajaxでファイルを組み込むプラグイン(その2)

| コメント(1) | トラックバック(0)

Ajaxでファイルを読み込むプラグインでは、読み込むファイルにscriptタグが含まれていると、そのJavaScriptは動作しません。
ただし、一部のJavaScriptは、動作させることができる場合があります。
その方法を解説します。

1.動作させることができるJavaScript

動作させることができるJavaScriptは、以下のような条件を満たしている必要があります。

  • JavaScriptのコードがHTMLに直接に書かれている(src属性でJavaScriptを組み込まない)
  • document.writeメソッドを使っていない

2.HTMLからJavaScriptを削除

まず、組み込みたいHTMLから、JavaScript(<script・・・>~</script>)の部分を切り取ります。
切り取ったJavaScriptは、メモ帳等に貼り付けておきます。

3.MTAjaxIncludeタグの書き換え

次に、MTAjaxIncludeタグを、以下のように書き換えます。
「変数名」には、英単語で適当な変数名をつけてください(例:「js1」など)。
また、「実行したいJavaScriptのコード」には、scriptタグの内側のJavaScriptのみを記述します(scriptタグは入れません)。

<MTSetVarBlock name="変数名">
実行したいJavaScriptのコード
</MTSetVarBlock>
<MTAjaxInclude id="ID" js="$変数名">読み込むファイル名</MTAjaxInclude>

例えば、ファイルを読み込んで、その内容を「foo」というdiv要素に流し込むとします。
また、その内容(innerHTML)をalertでポップアップ表示したいとします。
この場合、以下のようにタグを組みます。

<MTSetVarBlock name="js1">
var fooObj = document.getElementById('foo');
alert(fooObj.innerHTML);
</MTSetVarBlock>
<MTAjaxInclude id="foo" js="$js1">読み込むファイル名</MTAjaxInclude>

4.注意事項

JavaScriptを動作させる手順は、おおむね上記のようになります。
しかし、すべてのJavaScriptを動作させられるという保障はありません。
複雑なJavaScriptの場合、動作しないこともありえます。

トラックバック(0)

トラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/1249.

コメント(スレッド1件,コメント1件)

コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。

No.1 aiko_m Author Profile Page: 参考になりました

ソース自体は長めのものではないので、条件をクリアするのは容易いのですが…document.write ありきのJavaScriptですので、ちょっと他の方法で表示出来ないか研究してみます。有難うございました。

コメントする