Я использую Webassembly и emscripten для проекта, и веб-страница работает очень хорошо.В нем я отправляю текстовое поле с информацией в файл .js, созданный (Webassembly и emscripten), для обработки, но, о, есть проблема !!, работает только один раз, когда я изменяю то, что находится в текстовом поле, и повторно отправляюк JS, это ничего не делает.Когда я перезагружаю страницу, она снова работает (только один раз).
Я использую этот способ (можно найти на Предоставление стандартного ввода для программы HTML с шифрованием? ):
Я комментирую run ();в конце emscript
// in my emscript
// shouldRunNow refers to calling main(), not run().
var shouldRunNow = true;
if (Module['noInitialRun']) {
shouldRunNow = false;
}
//run(); // << here
// {{POST_RUN_ADDITIONS}}
.
result = areaInput(); \\and add areaInput in result
добавьте приведенный ниже код в мой файл для активации run () в emscript
<script>
var message;
var point = -1;
function getArea(){
message = document.getElementById('input').value.split('\n');
}
function areaInput(){
if(point >= message.length - 1){
return null;
}
point += 1;
return message[point];
}
function execEmscript(){
window.console = {
log: function(str){
document.getElementById("output").value += "\n" + str;
}
}
getArea();
run();
}
</script>
io textareas
<textarea id="input" cols="80" rows="30"></textarea>
<textarea id="output" cols="80" rows="30"></textarea>
и кнопка
<button onclick="execEmscript();">run</button>