似乎初始化brython需要这样做:

<body onload="brython()">

在链接了brython.js之后,我尝试在另一个<script>中调用js中的brython(),但它似乎没有被调用。
当我最终在浏览器控制台中调用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脚本之后,它将按预期工作。

10-05 23:02