باستخدام JavaScript لفتح صفحة جديدة وملبئ قيم النماذج هناك

StackOverflow https://stackoverflow.com/questions/3717361

سؤال

أنا أستخدم JavaScript في إشارة مرجعية لإلغاء عناصر النماذج على موقع ويب:

javascript:var f = document.forms[0];
f.getElementsByTagName('input')[0].value = 'myname';
f.getElementsByTagName('input')[1].value = 'mypassword';
f.getElementsByTagName('input')[2].click

هذا يعمل. ومع ذلك ، فإن ما أود إنشاؤه هو إشارة مرجعية بحيث يفتح الصفحة المستهدفة ، وتملأ القيم هناك ؛ ومع ذلك ، يبدو أنه يتم تحميل الصفحة ، ولا يتم تنفيذ رموز JavaScript الأخرى. لذلك ، ما يلي لا يعمل.

javascript:window.location("mywebsite");var f = document.forms[0];
f.getElementsByTagName('input')[0].value = 'myname';
f.getElementsByTagName('input')[1].value = 'mypassword';
f.getElementsByTagName('input')[2].click;

لقد جربت أيضًا settimeout لتأخير تنفيذ الكود الخاص بي ، لكن هذا لم ينجح.

javascript:var f = document.forms[0];setTimeout("f.getElementsByTagName('input')[0].value = 'myname';f.getElementsByTagName('input')[1].value = 'mypassword';f.getElementsByTagName('input')[2].click;",1000);

كيف يمكنني تحميل البرنامج النصي بمجرد أن أعرف أن الصفحة المستهدفة محملة بالكامل؟

هل كانت مفيدة؟

المحلول

الشحوم قرد مدمج في الكروم ، يبدو أنك تحاول إعادة اختراع العجلة. قم بتثبيت ملف JS وسيتم تشغيله عند تحميل الصفحة.

نصائح أخرى

لا أستخدم Greasemonkey كقاعدة شخصية ، لترميز المتصفحات التي لا ينبغي استخدامها. تعد الإشارة المرجعية هي مقاربة أقل شهرة لأتمتة تسجيل الدخول لأتمتة عندما يتم قفل نظامك ولن يسمح بتثبيت Greasemonkey ، Roboform ، إلخ.

لقد قمت بترميز الكثير من الإشارة المرجعية لتسجيل الدخول وفكرت فيما تحاول القيام به: أضف بعض البرنامج النصي الذي يتم تنفيذه بعد تحميل الصفحة. جئت إلى هذه الصفحة بحثًا عن الحل ، لكنني الآن سعيد لأنه لا يعمل.

فكر في الآثار الأمنية لهذا. إذا كان من الممكن صدى ضربات المفاتيح إلى صفحة محملة ، فستكون قادرة أيضًا على الاستماع إلى ضربات المفاتيح وإرسالها إلى مكان آخر - سيء للغاية.

إذا كنت ترغب في أتمتة تسجيل الدخول ، جرب نمط مرجعية مثل هذا (إزالة فترات استراحة الخط):

javascript:
    u='my_username';
    p='my_password';
    l='https://my_server/signon.aspx'; 
    if(location!=l)location=l;
    else{
     g=document.getElementById; 
     ue=(g('username') || g('userid') || g('login_name'));
     if(ue){
      ue.value=u;
      pe=(g('password') || g('pw') || g('pin'));
      pe.value = p;
      b=(g('submit_button') || g('signon_button') || g('login_button'));
      document.close();
      if(b)b.click();
     } 
    }

النقر فوق الرابط مرة واحدة يأخذك إلى صفحة signon.aspx. بمجرد توفر حقل اسم المستخدم على الصفحة المحملة ، فإن النقر فوق الرابط نفسه مرة أخرى سيملأ النموذج والإرسال.

لذلك فهي نقرة واحدة أكثر مما كنت تأمل ، ولكن إذا وضعت المرجعية على شريط أدوات ، فلا يوجد أي تأخير. حظا طيبا وفقك الله!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top