函数无限循环并忽略其他函数的部分
Function infinite loop and ignoring parts of other functions
好吧,基本上我写这个脚本要做的就是清楚,如果文本框已满,请单击一个按钮,如果没有,请刷新页面。
我可以在文本框已满时成功清除文本框,在未满时刷新页面,但是一旦我尝试使用我的 clickButton 函数,它就会进入无限循环并跳过 clrLog[= 中的 if() 11=]
function addFunction(func, exec) {
var script = document.createElement('script');
script.textContent = '-' + func + (exec ? '()' : '');
document.body.appendChild(script);
document.body.removeChild(script);
}
function clickButton(val) {
buttons = document.getElementsByTagName('INPUT');
for (var i = 0; i < buttons.length; i++)
{
if (buttons[i].type == 'submit' && buttons[i].value == val)
{
buttons[i].click();
}
}
}
function clrLog() {
var elements = [
];
elements = document.getElementsByClassName('logarea');
if (elements.log.value === '')
setTimeout(function () {
location.reload();
}, 5000);
for (var i = 0; i < elements.length; i++) {
elements[i].value = '';
}
clickButton('Edit log file');
}
function main() {
addFunction(clrLog(), true);
}
main();
我发现我可以通过使用 document.querySelector(); 来避免使用 for 循环;相反-容易得多:)
好吧,基本上我写这个脚本要做的就是清楚,如果文本框已满,请单击一个按钮,如果没有,请刷新页面。
我可以在文本框已满时成功清除文本框,在未满时刷新页面,但是一旦我尝试使用我的 clickButton 函数,它就会进入无限循环并跳过 clrLog[= 中的 if() 11=]
function addFunction(func, exec) {
var script = document.createElement('script');
script.textContent = '-' + func + (exec ? '()' : '');
document.body.appendChild(script);
document.body.removeChild(script);
}
function clickButton(val) {
buttons = document.getElementsByTagName('INPUT');
for (var i = 0; i < buttons.length; i++)
{
if (buttons[i].type == 'submit' && buttons[i].value == val)
{
buttons[i].click();
}
}
}
function clrLog() {
var elements = [
];
elements = document.getElementsByClassName('logarea');
if (elements.log.value === '')
setTimeout(function () {
location.reload();
}, 5000);
for (var i = 0; i < elements.length; i++) {
elements[i].value = '';
}
clickButton('Edit log file');
}
function main() {
addFunction(clrLog(), true);
}
main();
我发现我可以通过使用 document.querySelector(); 来避免使用 for 循环;相反-容易得多:)