我目前正在从Chrome扩展程序中将Javascript文件注入网页,以便在网页上自动填写并提交表单。此外,我需要此脚本来不断自动填充和执行脚本。但是,表单提交仅发生在脚本的末尾,迫使我多次运行整个脚本,而不是在脚本的内容上使用循环。如何在网页上反复运行相同的Javascript文件?我目前正在执行的方法似乎失败并且只运行一次脚本。
这是我目前的background.js:
public class HelloService extends Service {
Thread ref;
boolean isInterrupted = false;
@Override
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
ref = new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 20; i++) {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
if (isInterrupted) {
return;
}
}
}
}
});
ref.start();
return Service.START_NOT_STICKY;
}
@Override
public void onDestroy() {
isInterrupted = true;
ref.interrupt();
}
}
Inject.js是我想多次运行的Javascript文件。以下是该脚本的简化版本:
// listen for our browerAction to be clicked
chrome.browserAction.onClicked.addListener(function (tab) {
executeScripts(null, [
{ file: "inject.js" },
{ file: "inject.js" },
{ file: "inject.js" },
{ code: "inject.js" }
])
});
答案 0 :(得分:0)
如果你想每隔x毫秒运行一个函数func:
setInterval(func, x);