Skip to content

Instantly share code, notes, and snippets.

@Jules-A
Created May 21, 2012 16:39
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save Jules-A/2763187 to your computer and use it in GitHub Desktop.
Save Jules-A/2763187 to your computer and use it in GitHub Desktop.
Batheo auto-login (Chrome extension)
chrome.extension.onRequest.addListener(onRequest);
function onRequest(request, sender, sendResponse) {
if (request.eventName == "getSettings") {
sendResponse({user: getStorage("user"), pass: getStorage("pass"), autof: getStorage("fill")});
} else {
sendResponse({});
}
}
function getStorage(type) {
data = localStorage.getItem("batheo_" + type);
return data;
}
var userName = null;
var passWord = null;
var autoFillOnly = false;
var getUrl = document.location.href;
chrome.extension.sendRequest( { eventName: "getSettings" },
function(response) {
userName = response.user;
passWord = response.pass;
autoFillOnly = response.autof;
checkIfAutoUrl();
}
);
function checkIfAutoUrl() {
if (getUrl.search("#autologin~") >= 1) { // If Url contains autologin parameters, continue, else start next function and end.
var cutUrl = getUrl.split('~'); // Separates the parameters from Url.
var parts = cutUrl[1].split('&'); // Separates the username and password from the parameters.
userName = parts[0]; // userName is equal to 1st parameter.
passWord = parts[1]; // passWord is equal to 2nd parameter.
}
if (userName != "" || passWord != "") { // Only autoLogin if the username or password isn't null. This is to prevent it from
autoLogin(); // unecessarily trying to log you in with incorrect info.
}
}
function autoLogin() {
var emailEle = document.getElementById("email"); // Set email box element as a variable.
var passEle = document.getElementById("pw"); // Set password box element as a variable.
emailEle.setAttribute("value", userName); // Fill out the email box with userName.
passEle.setAttribute("value", passWord); // Fill out the password box with passWord.
if (!autoFillOnly) { // Only click log-in if autoFillOnly is false.
location.href = "javascript:void(login());"; // Press the login button.
}
}
<html>
<head><title>Settings</title></head>
<script type="text/javascript" src="options.js"></script>
<style type="text/css">
lt {
position:relative;
left:150px;
}
pt {
position:relative;
left:20px;
}
</style>
<body >
<lt> <h1> Settings </h1> </lt> <br>
<pt> Username: <input id="UsernameBox" style="width:300px;" type="text"> </pt> <br>
<pt> Password: <input id="PasswordBox" style="width:300px;" type="password"> </pt> <br>
<pt> <input type="checkbox" id="AutoFill" /> Auto-Fill only? (will fill in data but not log-in) </pt> <br></br>
<lt> <pt><pt> <button type="button" id="SubmitBut">Save</button> </pt></pt> </lt> <br>
</body>
</html>
window.addEventListener("load", load_options, false);
document.getElementById("SubmitBut").addEventListener("click", save_options, false);
function load_options() {
var userName = localStorage.getItem("batheo_user");
var passWord = localStorage.getItem("batheo_pass");
var autoFill = localStorage.getItem("batheo_fill");
document.getElementById("UsernameBox").setAttribute("value", userName);
document.getElementById("PasswordBox").setAttribute("value", passWord);
document.getElementById("AutoFill").checked=autoFill;
}
function save_options() {
var userBox = document.getElementById("UsernameBox").value;
var passBox = document.getElementById("PasswordBox").value;
var autoFillCheck = document.getElementById("AutoFill").checked;
localStorage.setItem("batheo_user", userBox);
localStorage.setItem("batheo_pass", userBox);
localStorage.setItem("batheo_fill", autoFillCheck);
alert("Log-in successfully saved!");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment