Javascript 如何停止TamperMonkey中的函数
我在TamperMonkey中有一个脚本,我想运行一次然后停止。它应该提示用户,然后填写框,然后停止。但它一直在问Javascript 如何停止TamperMonkey中的函数,javascript,jquery,tampermonkey,Javascript,Jquery,Tampermonkey,我在TamperMonkey中有一个脚本,我想运行一次然后停止。它应该提示用户,然后填写框,然后停止。但它一直在问 function logIn() { s = prompt('Enter your username') document.getElementById("Header_Login_tbUsername").value = s; s2 = prompt('Enter your password') document.getElementById("
function logIn() {
s = prompt('Enter your username')
document.getElementById("Header_Login_tbUsername").value = s;
s2 = prompt('Enter your password')
document.getElementById("Header_Login_tbPassword").value = s2;
document.getElementById('Header_Login_btLogin').click();
a = prompt('Paste the link')
window.location.replace(a);
}
logIn();
您可以将后一个cookie函数添加到脚本中,以创建、检查和删除cookie 每次脚本运行时,请检查cookies是否存在:
function logIn() {
var cookieValue = 'myLogin';
var exists = readCookie(cookieValue);
// If the cookie is not set, prompt to enter login and create cookie.
if (!exists) {
createCookie(cookieValue, '', 1); // Store for 1 day.
promptLogin();
}
}
function promptLogin() {
s = prompt('Enter your username');
document.getElementById("Header_Login_tbUsername").value = s;
s2 = prompt('Enter your password');
document.getElementById("Header_Login_tbPassword").value = s2;
document.getElementById('Header_Login_btLogin').click();
a = prompt('Paste the link');
window.location.replace(a);
}
logIn();
查看下面关于代码的更深入讨论
function createCookie(name, value, days) {
var expires;
if (days) {
var date = new Date();
date.setTime(date.getTime() + days * 86400000);
expires = "; expires =" + date.toGMTString();
} else {
expires = "";
}
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1, c.length);
}
if (c.indexOf(nameEQ) == 0) {
return c.substring(nameEQ.length, c.length);
}
}
return null;
}
function eraseCookie(name) {
createCookie(name, "", -1);
}
函数createCookie(名称、值、天数){
var到期;
如果(天){
变量日期=新日期();
date.setTime(date.getTime()+天*86400000);
expires=“;expires=“+date.togmString();
}否则{
expires=“”;
}
document.cookie=name+“=”+value+expires+“path=/”;
}
函数readCookie(名称){
变量nameEQ=name+“=”;
var ca=document.cookie.split(“;”);
对于(变量i=0;i
创建一个处理GreaseMonkey的.a,但应该是可移植的。注意:这个问题对你来说似乎是一个完美的解决方案。你必须提供细节。脚本运行的URL是什么?您重定向(location.replace(a)
)到的URL是什么?编辑问题以提供此信息。您可能需要在创建cookie之前验证登录是否成功,否则它将不会再次询问您。也就是说,直到您删除cookie。