JQuery干扰了bokeh.js。为什么?

时间:2014-04-25 18:08:06

标签: javascript php jquery bokeh

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嵌入散景是其中最好的应用程序之一。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

这是最近发现的问题,您可以在以下位置跟踪进度:

https://github.com/ContinuumIO/bokeh/issues/554

应该有一个点发布,包括很快就会解决这个问题。