TL;DR:我的 index.html jQuery 与 bokeh.js 的声明干扰了 php 页面中的脚本标签将自己显示到它们应该加载到的 div 中的能力。为什么?
我一直在尝试嵌入graph.create_html_snippet()
python bokeh 包的输出。当我发现我的测试页面有效时,我遇到了很多麻烦,以至于我制作了一个单独的测试 html 页面只是为了将其发布到 SO 上!这里是:
<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 脚本,我的原始测试页面是如何在 jQuery 中工作的<head>
?我回到我的主页并删除了 JQuery 脚本,突然嵌入工作正常。所以我进入了 bokeh.js 脚本,发现了一堆对 jQuery 的调用,我不太明白。
为什么我的 jQuery 声明会干扰 bokeh.js?当我使用 jQuery 声明的 html 页面加载 php 页面时,加载 php 的 html 元素不会加载脚本标签,但所有其他 php 命令都可以。这是怎么回事?由于我在写这篇文章时解决了这个问题,我想我的问题更多是出于好奇/帮助可能遇到同样事情的人,因为使用 php 嵌入散景是最好的应用程序之一。
谢谢你的帮助。