gpt4 book ai didi

javascript - QPython3 在 HTML GUI 中使用 Javascript 的问题

转载 作者:行者123 更新时间:2023-12-03 04:44:24 26 4
gpt4 key购买 nike

QPython3,安卓6.0;我猜 JS 无法实例化 var droid = new Android();有解决问题的提示吗?

Python 代码(两种情况相同!):

import android

droid=android.Android()

droid.webViewShow('file:///storage/emulated/0/qpython/scripts3/test10_le_HTMLGUI_01.html')

while True:
result=droid.eventWaitFor('sag').result
droid.ttsSpeak(result['data'])

HTML 代码:test10_le_HTMLGUI_01.html(案例 1):

<html>
<head>
<title>Text To Speech</title>
<script>
var n = prompt("Hello JavaScript","");
var droid = new Android();
var speak = function() {
var n = prompt("Hello JavaScript","");
droid.eventPost("sag", document.getElementById("sag").value, 1);
}
</script>
</head>
<body>
<form onsubmit="speak(); return false;">
<label for="sag">What is your message?</label>
<input type="text" id="sag" />
<input type="submit" value="Speak" />
</form>
</body>
</html>

HTML 代码(案例 2):

<html>
<head>
<title>Text To Speech</title>
<script>
var droid = new Android();
var n = prompt("Hello JavaScript","");
var speak = function() {
var n = prompt("Hello JavaScript","");
droid.eventPost("sag", document.getElementById("sag").value, 1);
}
</script>
</head>
<body>
<form onsubmit="speak(); return false;">
<label for="sag">What is your message?</label>
<input type="text" id="sag" />
<input type="submit" value="Speak" />
</form>
</body>
</html>

在情况 1 中,提示(“Hello JavaScript”,“”);被执行了,但情况 2 不是这样!

QPython3 (Android 6) SL4A eventPost() 和 eventWaitFor() 在以下示例中工作正常(有关添加信息,请参阅 http://www.mithril.com.au/android/doc/ ):

import android, time
droid=android.Android()
t = 'Geschafft!'
print('debug 1')
droid.eventPost('Event1', t, 1)
print('debug 2')
print('debug 3')
result=droid.eventWaitFor('Event1').result
droid.ttsSpeak(result['data'])
print('debug 4')
print(result['data'])

证明:如果注释掉 droid.eventPost('Event1', t, 1) 行,则 eventWaitFor() 将永远阻塞!

也许我们在 QPython3 webViewShow - Script doesn't receiving data 中也有类似的问题并在 https://stackoverflow.com/questions/36478310/qpython-webview-javascript-android-object

问候古斯塔夫 (2017-03-21)

最佳答案

使用 Bottle() 而不是 JavaScript。它已经集成在 QPython3 中,并为几乎相同的任务提供了解决方案。找到 Bottle() 的教程: https://bottlepy.org/docs/dev/bottle-docs.pdf

问候古斯塔夫

关于javascript - QPython3 在 HTML GUI 中使用 Javascript 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42928283/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com