Итак, я создал букмарклет, чтобы открыть сайт и войти в систему для меня. Я получил его на работу, но он работает только, если я держу Ctrl
, когда я нажимаю закладку. может ли кто-нибудь помочь мне исправить проблему, чтобы она работала, даже если я не держу Ctrl
?JavaScript Bookmarklet Issue
window.location.assign("https://www.thewebsiteiwant.com");
window.onload=doThis;
function doThis(){
document.getElementsByName("username")[0].value="username";
document.getElementsByName("password")[0].value="password";
var inputs = document.getElementsByTagName("input");
for(var i = 0;i < inputs.length; i++){
if(inputs[i].type === "submit"){
inputs[i].form.submit();
}
}
}
EDIT:
и да, я знаю, что спасение моего имя пользователя/пароль в закладки огромная проблема безопасности, но если хакер попал в мой рабочий компьютер, последнее, что они будут go for - это мой логин для страницы, содержащей полезную информацию.
EDIT2:
получил его на работу, спасибо @DG за помощь мне мозговой штурм:
javascript:
var sitexyz = "https://www.thewebsiteiwant.com";
if(document.URL == sitexyz){
document.getElementsByName("username")[0].value="username";
document.getElementsByName("password")[0].value="password";
var inputs = document.getElementsByTagName("input");
for(var i = 0;i < inputs.length; i++){
if(inputs[i].type === "submit"){
inputs[i].form.submit();
}
}
} else {
window.location.assign(sitexyz);
window.onload=doThis;
function doThis(){
document.getElementsByName("username")[0].value="username";
document.getElementsByName("password")[0].value="password";
var inputs = document.getElementsByTagName("input");
for(var i = 0;i < inputs.length; i++){
if(inputs[i].type === "submit"){
inputs[i].form.submit();
}
}
}
}
Я изумлен, что вы нашли способ сделать это. Я никогда не видел эту технику раньше, и я немного второстепенный эксперт по букмарклетам (проверьте мою историю SO). FYI, он работает в Chrome, но, похоже, не работает в Firefox. Я серьезно сомневаюсь, что вы найдете способ сделать это, не используя CTRL. Это вопрос, который был задан много раз, и для меня удивительно, что вообще есть какая-то работа. Будьте благодарны, что нашли это. –
Считаете ли вы, что добавление оператора if и проверка его текущего URL-адреса и запуск сценария, основанного на этом, помогут? Тогда я мог бы просто щелкнуть пару раз –
Да, конечно, это должно сработать. Это также интересный подход. –