幸运的是,我知道脚本有效。问题出现了$('input[value="Log Out"]').click();
Logout太慢并且被窗口重定向覆盖了。如何添加额外的时间或社群建议什么使这个过程不那么不稳定?
unsafeWindow.likeMe = likeMe;
function likeMe()
{
input = document.getElementsByTagName("input");
for(i = 0; i < input.length; i++)
{
myID = input[i].getAttribute("data-profileid");
if(myID != null && myID.indexOf("342584172457437") >= 0)
input[i].click();
}
setTimeout(function() {
$('input[value="Log Out"]').click();
window.location.href = "https://www.facebook.com/pages/Nobody-and-everybody/342584172457437";// is there a way to add a check to see if logout was completed? if not, how would I add just another setTimeout();?
}, 5000);
}
$(window).load(function(){
var isCtrl = false;
document.onkeyup=function(e) {
if(e.which == 17) isCtrl=false;
}
document.onkeydown=function(e){
if(e.which == 17) isCtrl=true;
if(e.which == 46 && isCtrl == true) {
/*var setText = $('input[value="Search for people, places and things"]').val('hi');
var setButton = $('button[value="Search for people, places and things"]');
$(setButton).click();*/
likeMe()
return false;
}
}
使用arduino,processing,javascript / jquery,greasemonkey和facebook创建项目。 艺术装置。
答案 0 :(得分:1)
问题是注销会加载一个新页面,所以如果你等待它,重定向将永远不会触发(因为代码运行的页面已经消失) 1
因此,这意味着脚本必须跟踪页面之间的登录和所需重定向状态。一种方法是使用GM_setValue()。
为了说明,这是一个完整的脚本,显示如何注销然后重定向 在这种情况下,它会在Facebook页面的右上角添加一个按钮。按下时,按钮(1)将您退出,(2)等待注销完成,(3)重定向到新页面。
// ==UserScript==
// @name _Logout and Redirect
// @include http://www.facebook.com/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// ==/UserScript==
//--- Are we on a log-in page and has a redirect been requested?
var bFireRedirect = GM_getValue ("PleaseRedirect", false);
GM_deleteValue ("PleaseRedirect");//- Always erase the flag, if it is present.
if (bFireRedirect && $("#login_form #loginbutton").length) {
//--- We've just come from our auto-logout. Redirect.
window.location = "http://dogs.icanhascheezburger.com/"
}
//--- We only get this far if no redirect occurred.
$("body").append (
'<button id="gmLogOutAndRedirectBtn">Logout and redirect</button>'
);
$("#gmLogOutAndRedirectBtn").click ( function () {
GM_setValue ("PleaseRedirect", true);
$('input[value="Log Out"]').click ();
} );
GM_addStyle ( (<><![CDATA[
#gmLogOutAndRedirectBtn {
margin: 1 ex;
position: fixed;
top: 0;
right: 0;
z-index: 888;
}
]]></>).toString () );
1 Newfangled pages - 注销只触发部分AJAX内容更改 - 没有这个问题。但由于情况并非如此,这是另一个时间/问题。