FB bigPipe の「ストリップ アウト」バージョンを実行しましたが、jquery を除いて完璧に動作しています。jquery を json 形式で解析して div タグに追加すると、jquery が機能しなくなります。
ここで使用する「bigPipe」jquery コードを確認でき ます
これを機能させるためのコードは非常に単純です。PHP の場合:
$data = array(
'id' => {div tag ID},
'content' => {html content},
'title' => {document title},
'css' => {...},
'js' => {...}
);
$output = '<script>Test.render(' . json_encode($data) . ');</script>';
問題は、ウィンドウ自体ではなく、コンテンツを追加する div タグに window.addEventListener を追加する必要があることだと思います。
そして、ここで私は立ち往生しています。どうすればいいですか?この追加されたhtmlでこのjqueryを機能させるにはどうすればよいですか?
これがどのように機能するかの例を次に示します。
このコードを php ファイルから実行しようとすると、問題が発生します。次のようにします。
- jsFiddle からの js コードを js ファイルに入れ、通常は .php ファイルに含めます。php ファイルに div タグを作成し、「not_working」と呼びます。保存します。
- 空の .html ドキュメントを作成し、 のように div タグを追加して
<div id="test">Click me</div>
保存します。- 新しい js ファイルを作成し、test.js という名前を付けます。このコードを入れてください:
$(関数() {
$("body").on("click","#test",function(){
alert("You clicked me!!");
});
});
保存。
PHP ファイルで、これを追加します。
$data = array( 'id' => "not_working", 'content' => {LINK and NAME to the HTML file you created!!}, 'title' => "Test", 'css' => "", 'js' => {LINK and NAME to the JS file you created!!}, );
.php ファイルを実行し、[Click me!] をクリックします。