אם אתה משתמש במנהל הסיסמאות המובנה בדפדפן שלך כדי לזכור את כל כניסות האינטרנט שלך או שוקל זאת לאור האירועים האחרונים עם LastPass, נתקלת (או בהכרח) בהכרח באתרים מסוימים שפשוט לא יאפשרו לך לשמור את סיסמה. עם זאת, בלחיצת כפתור פשוטה או שתיים על העכבר, תוכלו לעקוף את המגבלה הזו ולאלץ את הדפדפן לזכור את הסיסמה באתרים לא משתפים אלה.
הערת העורך: כמובן, אם אתה משתמש ב- LastPass, פונקציונליות זו מובנית ממש. מאמר זה מיועד למי שמעדיף להשתמש בשמירת סיסמאות הדפדפן המובנית במקום לשים את הסיסמאות שלהם בענן.
מדוע אתרים מסוימים לא יאפשרו לי לשמור את הסיסמה?
תשובה זו היא פשוטה למדי, היא נובעת מהתכונה "השלמה אוטומטית" על אלמנטים של טופס ו / או קלט שמוגדרת כ- "off". מאפיין זה הוצג על ידי Internet Explorer 5 ועושה את מה ששמו מרמז, מונע מהפונקציונליות להשלמה אוטומטית להחיל על כל תחום שהכיבוי שלו מפורש.
כפי שניתן לראות כאן באתר של פייפאל (שאינו מאפשר לך לשמור את הסיסמה שלך), בחלק הכניסה מוגדר ערך ההשלמה האוטומטית כבוי עבור שדה הסיסמה. כתוצאה מכך, הדפדפן לא יאסוף שדה זה למאגר הסיסמאות המשלים אוטומטית.
התיקון: פונקציית JavaScript פשוטה
למרבה המזל, התיקון פשוט באותה מידה. אנחנו רק צריכים לשנות את הערך של תכונה זו, בכל מקום שהיא נמצאת, ל"על ". הודות ליכולתו של JavaScript לתפעל את ה- DOM (מודל אובייקט המסמך), אתה יכול לעשות זאת בקלות בלחיצה על סימנייה.
פונקציית JavaScript מוטמעת בקישור למטה. באפשרותך לגרור את הקישור לסרגל הסימניות שלך או ללחוץ עליו באמצעות לחצן העכבר הימני ולסמן את קישור היעד. ברגע שזה נעשה, פשוט לחיצה על הסימניה תריץ את הסקריפט "אפשר שמירת סיסמה" בדף הנוכחי.
| אפשר שמירת סיסמה |
אם הקישור למעלה לא עובד אז הנה המקור לקישור. אתה יכול ליצור סימניה עם הכתובת הבאה ככתובת האתר המקורית:
| 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; עבור (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++;}}}} התראה ("מופעלת% 20 '" + ac + "'% 20 על% 20" + c + "% 20 נושאים.");}) (); |
מהבדיקה שלנו (באמצעות PayPal כאתר הבדיקה) זה עבד כצפוי ב- Firefox 4 וב- Internet Explorer 9. למרבה הצער, לא הצלחנו לגרום לו לעבוד בתוך Chrome למרות הודעת ההצלחה שההשלמה האוטומטית הופעלה.
נהלי השימוש בו כמעט זהים בכל דפדפן כאשר Internet Explorer דורש שלב נוסף אחד.
שימוש ב- Firefox
כאשר אתה מבקר באתר שאינו מאפשר לך לשמור את הסיסמה שלך, הפעל את הסקריפט "אפשר שמירת סיסמה". אתה אמור לראות הודעה כמו זו שלמטה.
הזן את שם המשתמש והסיסמה שלך כרגיל ועם הכניסה, תתבקש לשמור את הסיסמה שלך.
בפעם הבאה שתבקר בדף, שם המשתמש שלך ימולא באופן אוטומטי, אך לא את הסיסמה. על מנת שהסיסמה תתמלא אוטומטית, תחילה עליך לשים את המיקוד בשדה שם המשתמש. אתה יכול להשתמש בלחיצת עכבר או Ctrl + Tab אם שדה הסיסמה מתמקד.
כעת כאשר אתה מעביר את המיקוד משדה שם המשתמש בלחיצה או בלשונית, הסיסמה שלך תתמלא אוטומטית.
שימוש ב- Internet Explorer
כאשר אתה מבקר באתר שאינו מאפשר לך לשמור את הסיסמה שלך, הפעל את הסקריפט "אפשר שמירת סיסמה". אתה אמור לראות הודעה כמו זו שלמטה.
הזן את שם המשתמש והסיסמה שלך כרגיל ועם הכניסה, תתבקש לשמור את הסיסמה שלך.
בפעם הבאה שתבקר בדף, שם המשתמש שלך ימולא באופן אוטומטי, אך לא את הסיסמה. יהיה עליך להפעיל את הסקריפט "אפשר שמירת סיסמה" שוב ועליך לראות את אותה הודעה כמו לעיל.
על מנת שהסיסמה תתמלא אוטומטית, תחילה עליך לשים את המיקוד בשדה שם המשתמש. אתה יכול להשתמש בלחיצת עכבר או Ctrl + Tab אם שדה הסיסמה מתמקד.
כעת כאשר אתה מעביר את המיקוד משדה שם המשתמש בלחיצה או בלשונית, הסיסמה שלך תתמלא אוטומטית.
מקור JavaScript
אם אתה סקרן כיצד עובד התסריט, הנה המקור המעוצב והערה היטב. אתם מוזמנים לשנות אותו כראות עיניכם.
פונקציה () {
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;
// עברו על כל אלמנט בצורה
עבור (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++;
}
}
}
}
התראה ("מופעלת" "+ ac +" 'על "+ c +" אובייקטים. ");
}