サーバーサイドとの対話なしでPHP風のinclude()を作成する方法として、AJAXを介してページにhtmlドキュメントを含むjavascript関数を作成しようとしています。関数が呼び出されたページ上の場所にファイルをスクリプトに含める必要があります。これが私の関数です(ajaxが有効なxmlhttpオブジェクトであると仮定します):
function include(src, elem){
ajax.open('GET', src, false);
ajax.send(null);
elem.innerHTML = ajax.responseText;
}
したがって、これは、クリックされたときにdiv内の「src.html」の内容を出力します。
<div onclick="include('src.html', this);"> </div>
しかし、ページが読み込まれるときに読み込むようにします。divにonloadイベントがないことを考えると、スクリプトをdivに含める必要があります。これは問題ありません。
<div id=write>
<script>include('src.html', this);</script>
</div>
ただし、スクリプトには、呼び出し元のdivへの参照がありません。確かに、divにIDを入れてそれを関数に渡すことはできますが、したくありません。正体不明の要素からこれを呼び出せるようにしたいと思います。何か案は?