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>
然后事情就停止了。但后来我意识到,等一下,如果我没有在我的 <head>
中提供 jQuery 脚本,我原来的测试页面如何在 jQuery 中工作? ?我回到主页并删除了 JQuery 脚本,突然嵌入工作正常了。所以我进入了 bokeh.js 脚本,发现了一堆我不太明白的 jQuery 调用。
为什么我的 jQuery 声明会干扰 bokeh.js?当我使用 jQuery 声明的 html 页面加载 php 页面时,加载 php 的 html 元素不会加载脚本标签,但所有其他 php 命令都可以。这是怎么回事?由于我在写这篇文章时解决了这个问题,我想我的问题更多是出于好奇/对可能遇到同样问题的人的帮助,因为使用 php 嵌入 Bokeh 是最好的应用程序之一。
感谢您的帮助。
最佳答案
关于javascript - JQuery 会干扰 bokeh.js。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23300087/