如何在

时间:2017-11-27 19:49:00

标签: javascript python html brython

似乎初始化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>

1 个答案:

答案 0 :(得分:1)

函数brython()使用属性type="text/python"搜索所有脚本,并在其中执行Python代码。

在您的示例中,在您调用该函数时,Python脚本尚未加载,因此未找到并因此执行它并不奇怪。如果您在 Python脚本之后放置了Javascript程序,它将按预期工作。