Javascript Facebook自动登录JS在控制台中工作,但在GM脚本中不工作
我正在尝试为Facebook创建一个自动登录脚本,而不是使用先前存在的脚本。当我在Firefox和Chrome的javascript控制台中运行以下代码时,用户名和密码字段都按预期填写:Javascript Facebook自动登录JS在控制台中工作,但在GM脚本中不工作,javascript,facebook,greasemonkey,autologin,Javascript,Facebook,Greasemonkey,Autologin,我正在尝试为Facebook创建一个自动登录脚本,而不是使用先前存在的脚本。当我在Firefox和Chrome的javascript控制台中运行以下代码时,用户名和密码字段都按预期填写: var username = "myemail@email.com"; var password = "password"; var f = document.getElementById("login_form"); f.elements.namedItem("email").value = username
var username = "myemail@email.com";
var password = "password";
var f = document.getElementById("login_form");
f.elements.namedItem("email").value = username;
f.elements.namedItem("pass").value = password;
但当我将其作为Greasemonkey脚本运行时,它们不会填写:
// ==UserScript==
// @name Auto Login for FB
// @namespace hamsolo474
// @description AutoLogin
// @include https://www.facebook.com
// ==/UserScript==
var username = "myemail@email.com";
var password = "password";
var f = document.getElementById("login_form");
f.elements.namedItem("email").value = username;
f.elements.namedItem("pass").value = password;
我通读了一遍,但似乎没什么帮助。这是我在其他网站上成功运行的GM脚本的派生版本,我不明白为什么它在这里不起作用,任何帮助都将不胜感激
编辑:
我还尝试了另一种方法:
var username = "myemail@email.com";
var password = "password";
document.getElementsByName("email", "input")[0].value = username;
document.getElementsByName("pass", "input")[0].value = password;
作为javascript和:
// ==UserScript==
// @name Auto Login for FB
// @namespace hamsolo474
// @description AutoLogin
// @include https://www.facebook.com
// ==/UserScript==
var username = "myemail@email.com";
var password = "password";
document.getElementsByName("email", "input")[0].value = username;
document.getElementsByName("pass", "input")[0].value = password;
作为GM,很像我的第一个方法,它在JS控制台中对Firefox和Chrome都有效,但在GM中对两者都无效。问题似乎在于
@include
指令设置不正确。使用:
// ==UserScript==
// @name Auto Login for FB
// @namespace hamsolo474
// @description AutoLogin
// @include http://www.facebook.com/*
// @include https://www.facebook.com/*
// ==/UserScript==
var username = "myemail@email.com";
var password = "password";
var f = document.getElementById("login_form");
f.elements.namedItem("email").value = username;
f.elements.namedItem("pass").value = password;
然而:在任何代码文件中嵌入帐户信息总是一个坏主意
如果你只是想更容易进入你的Facebook帐户,那么你最好更安全地使用。问题似乎在于
@include
指令设置不正确。使用:
// ==UserScript==
// @name Auto Login for FB
// @namespace hamsolo474
// @description AutoLogin
// @include http://www.facebook.com/*
// @include https://www.facebook.com/*
// ==/UserScript==
var username = "myemail@email.com";
var password = "password";
var f = document.getElementById("login_form");
f.elements.namedItem("email").value = username;
f.elements.namedItem("pass").value = password;
然而:在任何代码文件中嵌入帐户信息总是一个坏主意
如果你只是想更轻松地进入你的Facebook帐户,那么使用它会更好、更安全。谢谢你的帮助,是的,我正在学习如何使用greasemonkey。理解为什么我的代码不起作用对我来说比稍微快一点登录fb更重要,谢谢你的帮助,奇怪的是当我没有看到URL更改时需要星号谢谢这项工作,是的,我正在学习如何使用greasemonkey。理解为什么我的代码不起作用对我来说比稍微快一点登录fb更重要,谢谢你的帮助,奇怪的是当我没有看到URL更改时需要星号