Add lastpass script to dwb config
This commit is contained in:
parent
3a8ee06701
commit
2d4a1708fc
75
dwb/dwb.configdir/userscripts/lastpass.js
Normal file
75
dwb/dwb.configdir/userscripts/lastpass.js
Normal file
@ -0,0 +1,75 @@
|
||||
//!javascript
|
||||
|
||||
Signal.connect("documentLoaded", function(wv, frame) {
|
||||
autofillForm();
|
||||
});
|
||||
|
||||
function fillUsername(name, username) {
|
||||
var doc = tabs.current.focusedFrame.document;
|
||||
var box = doc.querySelector('input[name="' + name + '"]');
|
||||
if (!box) {
|
||||
box = doc.querySelector("input[name*=user]");
|
||||
}
|
||||
if (!box) {
|
||||
box = doc.querySelector("input[name*=email]");
|
||||
}
|
||||
if (!box) {
|
||||
box = doc.querySelector("input[name*=account]");
|
||||
}
|
||||
if (!box) {
|
||||
box = doc.querySelector("input[type=email]");
|
||||
}
|
||||
if (box) {
|
||||
box.value = username;
|
||||
}
|
||||
}
|
||||
|
||||
function fillPassword(name, password) {
|
||||
var doc = tabs.current.focusedFrame.document;
|
||||
var box = doc.querySelector('input[name="' + name + '"]');
|
||||
if (!box) {
|
||||
box = doc.querySelector("input[type=password]");
|
||||
}
|
||||
if (box) {
|
||||
box.value = password;
|
||||
}
|
||||
}
|
||||
|
||||
function lastPassFind(url, callbacks) {
|
||||
var cmd = "lpass find " + url;
|
||||
system.spawn(cmd, {
|
||||
onStdout: function(line) {
|
||||
if (line.indexOf("Username: ") == 0) {
|
||||
callbacks.onGetUsername(line.substr(10));
|
||||
} else if (line.indexOf("Password: ") == 0) {
|
||||
callbacks.onGetPassword(line.substr(10));
|
||||
} else if (line.indexOf(': ') > -1) {
|
||||
var name = line.substring(0, line.indexOf(': '));
|
||||
callbacks.onGetFieldName(line, name);
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
function autofillForm() {
|
||||
var username, password;
|
||||
lastPassFind(tabs.current.uri, {
|
||||
onGetUsername: function (val) {
|
||||
username = val;
|
||||
fillUsername("", val);
|
||||
},
|
||||
onGetPassword: function (val) {
|
||||
password = val;
|
||||
fillPassword("", val);
|
||||
},
|
||||
onGetFieldName: function (line, name) {
|
||||
if (username && line.indexOf(username) > -1) {
|
||||
fillUsername(name, username);
|
||||
}
|
||||
if (password && line.indexOf(password) > -1) {
|
||||
fillPassword(name, password);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user