1

我正在尝试为 Facebook 创建一个自动登录脚本,而不是使用预先存在的脚本。当我在 Firefox 和 Chrome 的 javascript 控制台中运行以下代码时,用户名和密码字段都按预期填写:

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,就像我的第一个方法一样,它适用于 Firefox 和 Chrome 的 JS 控制台,但不适用于 GM。

4

1 回答 1

1

问题似乎是@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 帐户,那么使用安全登录插件会更好,安全

于 2012-05-26T05:40:11.600 回答