简体   繁体   English

将SET!VAR1 EVAL与javascript iMacros结合使用

[英]Using SET !VAR1 EVAL with javascript iMacros

I have a .js iMacros file for go to url, it looks like this: 我有一个.js iMacros文件用于转到url,它看起来像这样:

for ( var k = 0; k<3; k++){
var congdong; 
congdong =  "CODE:";
congdong +=  "VERSION BUILD=8970419 RECORDER=FX" + "\n";
congdong +=  "SET !ERRORIGNORE YES" + "\n";
congdong +=  "SET !VAR1 EVAL(\"var letters = ['link1','link2','link3','link4','link5','link6','link7','link8']; var  results = []; for (var i = 0; i < 3; i++) {var pos = parseInt(Math.random()  * (letters.length - 1));results.push(letters[pos]);letters.splice(pos, 1);} results[i];\")" + "\n";
congdong +=  "TAB T=1" + "\n";
congdong +=  "URL GOTO={{!VAR1}}" + "\n";
iimPlay(congdong)
}

My goal is for it to run 3 times each time going to 1 different url. 我的目标是使其每次运行1次不同的URL都运行3次。 But when I let it run it does not go to any urls and does not report errors. 但是,当我让它运行时,它不会进入任何网址,也不会报告错误。 Any ideas on how I could get this working? 关于如何使它起作用的任何想法?

Thanks so much! 非常感谢!

Something like this, maybe? 这样的事,也许吗?

// ...
congdong += "SET !VAR1 EVAL(\"var links = ['link1','link2','link3','link4','link5','link6','link7','link8']; links[Math.floor(Math.random() * links.length)];\")" + "\n";
// ...

Bear in mind, if you use 请记住,如果您使用

SET !ERRORIGNORE YES

you won't see any errors. 您不会看到任何错误。

my code is running 我的代码正在运行

var linkcd= [
'link1',
'link2',
'link3',
'link4',
'link5',
'link6',
'link7'
];
var resultscd = [];
for (var k = 0; k < 6; k++) {
var pos = parseInt(Math.random() * (linkcd.length - 1));
resultscd.push(linkcd[pos]);
linkcd.splice(pos, 1);
}

for (var k = 0; k < 3; k++) {
var congdong; 
congdong =  "CODE:";
congdong +=  "VERSION BUILD=8970419 RECORDER=FX" + "\n";
congdong +=  "SET !ERRORIGNORE YES" + "\n";
congdong +=  "SET !VAR1 \"" + resultscd[k] + "\"\n";
congdong +=  "TAB T=1" + "\n";
congdong +=  "URL GOTO={{!VAR1}}" + "\n";
iimPlay(congdong)
}

Thanks you! 谢谢!

Have not tested this due to an issue with my browser, please check the below code and let me know if this fixes your problem! 由于我的浏览器存在问题,因此尚未测试,请检查以下代码,并告诉我是否可以解决您的问题!

var letters = ['link1','link2','link3','link4','link5','link6','link7','link8']; 
for ( var k = 0; k < 3; k++){
    iimset("POS", letters[parseInt(Math.random()  * (letters.length - 1))]);
    var congdong;
    congdong =  "CODE:";
    congdong +=  "VERSION BUILD=8970419 RECORDER=FX" + "\n";
    congdong +=  "SET !ERRORIGNORE YES" + "\n";
    congdong +=  "TAB T=1" + "\n";
    congdong +=  "URL GOTO={{POS}}" + "\n";
    iimPlay(congdong)
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM