В настоящее время я настроил EnvJS в своей системе (здесь из здесь). Моя конечная цель - загрузить страницу, чтобы она обрабатывалась javascript в течение нескольких секунд, а затем прочитала dom, чтобы получить интересующую информацию. Однако я не могу заставить setTimeout() работать, чтобы спасти мою жизнь (или JQuery, если на то пошло).
У меня есть php script, который запускает процесс:
...
$ENVJS_PATH = "/var/www/project/src/envjs";
$RHINO_JAR = "rhino/js.jar";
$INIT_SCRIPT = "init.js";
$output = shell_exec("java -jar $ENVJS_PATH/$RHINO_JAR -opt -1 $ENVJS_PATH/$INIT_SCRIPT");
echo "Response from javascript:<br/> $output";
...
Файл init.js выглядит так:
load('/var/www/project/src/envjs/dist/env.rhino.js');
print("Loaded env.rhino.js<br/>");
// temporarily commented out
//var url = "http://www.ken-soft.com";
//window.location = url;
//print("<br/>Loaded "+url+"<br/>");
// Problem starts here
var runAfterPause=function() {
print("got here..."); // never gets called
print(document.getElementById('some_id').innerHTML);
}
setTimeout(runAfterPause, 3000); //wait three seconds before continuing
// i have also tried setTimeout("runAfterPause()", 3000);
print("<br/>End<br/>");
Любые знания об этом будут высоко оценены. Спасибо.