TL; DR:我的带有bokeh.js的jQuery的index.html声明干扰了php页面中脚本标签将自己显示到应该加载到的div中的能力。为什么?
我一直在尝试从python散景包中嵌入graph.create_html_snippet()
的输出。当我发现我的测试页有效时,我制作了一个单独的测试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>
然后事情就停止了。但后来我意识到,等一下,如果我在<head>
中没有为jQuery提供脚本,我的原始测试页如何在jQuery中工作?我回到我的主页并删除了JQuery脚本,突然嵌入工作正常。所以我进入了bokeh.js脚本,发现了一堆对jQuery的调用我不太明白。
为什么我的jQuery声明干扰了bokeh.js?当我使用jQuery声明的html页面加载php页面时,php加载到的html元素将不会加载脚本标记,但所有其他php命令都没问题。这是怎么回事?由于我在写这个问题时解决了这个问题,我想我的问题更多的是出于对可能遇到同样事情的人的好奇/帮助,因为使用php嵌入散景是其中最好的应用程序之一。
感谢您的帮助。
答案 0 :(得分:2)