TL;DR: bokeh.js を使用した jQuery の index.html 宣言は、php ページのスクリプト タグが読み込まれるはずの div に自分自身を明示する機能を妨げます。なんで?
graph.create_html_snippet()
python bokeh パッケージからの出力を埋め込もうとしています。テストページが機能することを発見したとき、SOに投稿するためだけに別のテストhtmlページを作成するのに非常に苦労していました。ここにあります:
<html>
<head>
<script src="js/bokeh.js"></script>
<script>
$(document).ready(function() {
$("#get_graph").click(function() {
$("#show_graph").load('hello.php');
});
});
</script>
</head>
<body>
<!-- click this to bring up graph -->
<a href="#"><div id="get_graph" style="width:100px;height:30px;background-color:#ddd;">Show graph</div></a>
<div id="show_graph"></div>
</body>
</html>
そして、hello.php は次のとおりです。
<?php
echo 'hello';
?>
<script src="31b1ad52-e095-4ba1-89d0-69f0b898d677.embed.js" bokeh_plottype="embeddata" bokeh_modelid="31b1ad52-e095-4ba1-89d0-69f0b898d677" bokeh_modeltype="Plot" async="true"></script>
だから今、なぜそれが私の実際のページで機能しないのか(簡潔にするために投稿されていません)、そしてなぜ私のテストページで機能するのかという謎に直面して、私はこれを私のテストページ:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script>
そして、物事は機能しなくなりました。しかし、ちょっと待ってください。私の元のテスト ページは、jQuery 用のスクリプトを指定しなかった場合、jQuery でどのように機能するの<head>
でしょうか? メイン ページに戻って JQuery スクリプトを削除したところ、突然埋め込みが正常に機能しました。そこで、bokeh.js スクリプトを調べたところ、よくわからない jQuery への呼び出しが多数見つかりました。
jQuery の宣言が bokeh.js に干渉するのはなぜですか? jQuery で宣言された html ページを使用して php ページをロードすると、php がロードされた html 要素にはスクリプト タグがロードされませんが、他のすべての php コマンドは問題ありません。どうしたんだ?これを書いている間に質問を解決したので、私の質問は、同じことに遭遇する可能性のある人々の好奇心/助けから外れていると思います.phpを使用してボケを埋め込むことは、そのための最良のアプリケーションの1つです.
助けてくれてありがとう。