作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
看来初始化brython需要这样:
<body onload="brython()">
我尝试在另一个 <script>
的 js 中调用 brython()在链接了 brython.js 但它似乎没有被调用之后。
当我最终在浏览器控制台中调用 brython 时,它调用了 brython,甚至执行了我的 python 代码。
为了给出不起作用的完整示例,这里有一个示例。我可能缺乏一些关于如何以及何时编译和执行 javascript 的基本知识...
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="/js/brython.js"></script>
</head>
<!-- <body onload="brython()"> -->
<body>
<script type="text/javascript">
console.log("calling brython() here");
brython();
console.log("I just called brython()");
</script>
<script type="text/python">
from browser import document, alert
def echo(*args):
alert("Hello {} !".format(document["zone"].value))
document["test"].bind("click", echo)
print("what")
</script>
<p>Your name is : <input id="zone" autocomplete="off">
<button id="test">clic !</button>
</body>
</html>
最佳答案
函数 brython()
搜索具有属性 type="text/python"
的所有脚本并执行其中的 Python 代码。
在您的示例中,在您调用该函数的那一刻,Python 脚本尚未加载,因此找不到并因此执行它也就不足为奇了。如果您将 Javascript 程序放在 Python 脚本之后,它将按您预期的那样工作。
关于javascript - 我如何在 <body> 中没有 onload 的情况下初始化 brython,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47518719/
我是一名优秀的程序员,十分优秀!