我正在尝试为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;
我通过this link阅读,但似乎没有帮助。这是我在其他网站上成功运行的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。
答案 0 :(得分: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帐户,那么使用the Secure Login add-on会更好,更安全。