2

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

谢谢你的帮助。

4

1 回答 1

2

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

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

应该很快就会有一个包含此修复的点发布。

于 2014-04-25T19:33:53.730 回答