Хорошо, после многих попыток я нашел обходной путь, но, к сожалению, не «решение». Я использовал эту загрузку view.loadUrl("javascript:" + src + " execute(); " + "");
, в то время как источник src
происходит из текстового файла script.js
, который включает мой javascript (как функции, так и простые команды)
//get script
InputStream is;
String src= "";
try {
is = getAssets().open("travianbot.js");
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
// Convert the buffer into a string.
src = new String(buffer);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
образец script.js (будьте осторожны с окончанием строки ";")
function addItem(v, link, x, y, result) {
//function commands
}
function popup() {
alert(execute().split("@"));
}
function execute(){
//function commands
additem(...);
}
// plain commands
.......
Одним из решений для удаленного сценария, который я не проверял, является синтаксический анализ удаленного сценария (например, в качестве входного потока), а затем его включение в виде простого текста.