Nếu bạn sử dụng trình quản lý mật khẩu được tích hợp trong trình duyệt của mình để ghi nhớ tất cả thông tin đăng nhập web của bạn hoặc đang xem xét nó dựa trên các sự kiện gần đây với LastPass, bạn sẽ (hoặc sẽ) chắc chắn gặp một số trang web nhất định sẽ không cho phép bạn lưu mật khẩu. Tuy nhiên, chỉ với một hoặc hai cú nhấp chuột đơn giản, bạn có thể khắc phục hạn chế này và buộc trình duyệt của bạn phải nhớ mật khẩu trên các trang web bất hợp tác này.
Ghi chú của người biên tập: tất nhiên, nếu bạn đang sử dụng LastPass, chức năng này được tích hợp sẵn. Bài viết này dành cho những người thích sử dụng tính năng lưu mật khẩu trình duyệt được tích hợp sẵn thay vì đặt mật khẩu của họ trên đám mây.
Tại sao một số trang web không cho phép tôi lưu mật khẩu?
Câu trả lời này khá đơn giản, đó là do thuộc tính “tự động hoàn thành” trên các phần tử biểu mẫu và / hoặc đầu vào được đặt thành “tắt”. Thuộc tính này được giới thiệu bởi Internet Explorer 5 và thực hiện đúng như tên gọi của nó, ngăn không cho chức năng tự động hoàn thành áp dụng cho bất kỳ trường nào đã tắt nó rõ ràng.
Như bạn có thể thấy ở đây trên trang web của PayPal (không cho phép bạn lưu mật khẩu của mình), phần đăng nhập có giá trị tự động hoàn thành được đặt thành tắt cho trường mật khẩu. Do đó, trình duyệt sẽ không chọn trường này cho cơ sở dữ liệu mật khẩu tự động hoàn thành của nó.
Cách khắc phục: Một hàm JavaScript đơn giản
May mắn thay, cách khắc phục cũng đơn giản như nhau. Chúng tôi chỉ cần thay đổi giá trị của thuộc tính này, bất cứ nơi nào nó hiện diện, thành “bật”. Nhờ khả năng thao tác DOM (mô hình đối tượng tài liệu) của JavaScript, bạn có thể dễ dàng thực hiện việc này chỉ với một cú nhấp chuột vào dấu trang.
Hàm JavaScript được nhúng trong liên kết bên dưới. Bạn có thể kéo liên kết vào thanh dấu trang của mình hoặc nhấp chuột phải vào nó và đánh dấu liên kết đích. Sau khi hoàn tất, chỉ cần nhấp vào dấu trang sẽ chạy tập lệnh “Cho phép Lưu mật khẩu” trên trang hiện tại.
| Cho phép Lưu mật khẩu |
Nếu liên kết trên không hoạt động thì đây là nguồn của liên kết. Bạn có thể tạo dấu trang bằng những thứ sau làm URL nguồn của nó:
| javascript: (function () {var%20ac,c,f,fa,fe,fea,x,y,z;ac="autocomplete";c=0;f=document.forms;for(x=0;x<f.length;x++){fa=f[x].attributes;for(y=0;y<fa.length;y++){if(fa[y].name.toLowerCase()==ac){fa[y].value="on";c++;}} fe = f[x].elements; for (y = 0; y <fe.length; y ++) {fea=fe[y].attributes;for(z=0;z<fea.length;z++){if(fea[z].name.toLowerCase()==ac){fea[z].value="on";c++;}}}} alert ("Đã bật% 20 '" + ac + "'% 20on% 20" + c + "% 20 đối tượng.");}) (); |
Từ thử nghiệm của chúng tôi (sử dụng PayPal làm trang web thử nghiệm), điều này hoạt động như mong đợi trong Firefox 4 và Internet Explorer 9. Rất tiếc, chúng tôi không thể làm cho nó hoạt động trong Chrome mặc dù đã bật thông báo thành công rằng tính năng tự động hoàn thành đã được bật.
Quy trình sử dụng nó gần như giống nhau trong mỗi trình duyệt với Internet Explorer, yêu cầu thêm một bước.
Cách sử dụng trong Firefox
Khi bạn truy cập một trang web không cho phép bạn lưu mật khẩu của mình, hãy chạy tập lệnh “Cho phép Lưu mật khẩu”. Bạn sẽ thấy một thông báo như bên dưới.
Nhập tên người dùng và mật khẩu của bạn như bình thường và khi đăng nhập, bạn sẽ được nhắc lưu mật khẩu của mình.
Lần sau khi bạn truy cập trang, tên người dùng của bạn sẽ được điền tự động, nhưng không phải mật khẩu. Để mật khẩu được tự động điền, trước tiên bạn phải đặt tiêu điểm vào trường tên người dùng. Bạn có thể sử dụng nhấp chuột hoặc Ctrl + Tab nếu trường mật khẩu có tiêu điểm.
Bây giờ khi bạn di chuyển tiêu điểm từ trường tên người dùng bằng một cú nhấp chuột hoặc Tab, mật khẩu của bạn sẽ tự động điền vào.
Sử dụng trong Internet Explorer
Khi bạn truy cập một trang web không cho phép bạn lưu mật khẩu của mình, hãy chạy tập lệnh “Cho phép Lưu mật khẩu”. Bạn sẽ thấy một thông báo như bên dưới.
Nhập tên người dùng và mật khẩu của bạn như bình thường và khi đăng nhập, bạn sẽ được nhắc lưu mật khẩu của mình.
Lần sau khi bạn truy cập trang, tên người dùng của bạn sẽ được điền tự động, nhưng không phải mật khẩu. Bạn sẽ cần chạy lại tập lệnh “Cho phép Lưu mật khẩu” và bạn sẽ thấy thông báo tương tự như trên.
Để mật khẩu được tự động điền, trước tiên bạn phải đặt tiêu điểm vào trường tên người dùng. Bạn có thể sử dụng nhấp chuột hoặc Ctrl + Tab nếu trường mật khẩu có tiêu điểm.
Bây giờ khi bạn di chuyển tiêu điểm từ trường tên người dùng bằng một cú nhấp chuột hoặc Tab, mật khẩu của bạn sẽ tự động điền vào.
Nguồn JavaScript
Nếu bạn tò mò cách thức hoạt động của kịch bản, đây là nguồn được định dạng và nhận xét tốt. Hãy sửa đổi nó khi bạn thấy phù hợp.
hàm () {
var ac, c, f, fa, fe, fea, x, y, z;
//ac = autocomplete constant (attribute to search for)
//c = count of the number of times the autocomplete constant was found
//f = all forms on the current page
//fa = attibutes in the current form
//fe = elements in the current form
//fea = attibutes in the current form element
//x,y,z = loop variables
ac = "autocomplete";
c = 0;
f = document.forms;
//cycle through each form
for(x = 0; x < f.length; x++) {
fa = f[x].attributes;
//cycle through each attribute in the form
for(y = 0; y < fa.length; y++) {
//check for autocomplete in the form attribute
if(fa[y].name.toLowerCase() == ac) {
fa[y].value = "on";
c++;
}
}
fe = f[x].elements;
// quay vòng qua từng phần tử trong biểu mẫu
for (y = 0; y <fe.length; y ++) {
fea = fe[y].attributes;
//cycle through each attribute in the element
for(z = 0; z < fea.length; z++) {
//check for autocomplete in the element attribute
if(fea[z].name.toLowerCase() == ac) {
fea[z].value = "on";
c++;
}
}
}
}
alert ("Đã bật" + ac + "'trên các đối tượng" + c + ".");
}