ক্রোম স্বয়ংসম্পূর্ণ = "বন্ধ" উপেক্ষা করে


444

আমি একটি ওয়েব অ্যাপ্লিকেশন তৈরি করেছি যা একটি ট্যাগবক্স ড্রপ ডাউন ব্যবহার করে। এটি ক্রোম ব্রাউজার (সংস্করণ 21.0.1180.89) বাদে সমস্ত ব্রাউজারে দুর্দান্ত কাজ করে।

উভয় সত্ত্বেও inputক্ষেত্র এবং formক্ষেত্র থাকার autocomplete="off"অ্যাট্রিবিউট, ক্রোম ক্ষেত্র, যা tagbox তালিকা মুছে ফেলা হয় পূর্ববর্তী এন্ট্রির ইতিহাস নিচে একটি ড্রপ দেখাচ্ছে ওপরে জোর দিচ্ছে।


10
কারিগরিভাবে এই প্রশ্নটি "এই প্রশ্নের ইতিমধ্যে এখানে উত্তর আছে" হিসাবে উল্লেখ করা প্রশ্নটির প্রায় 5 মাস আগে জিজ্ঞাসা করা হয়েছিল। এটির পরে এটি আসার সাথে সাথে এটিই সদৃশ।
ব্যবহারকারী 3071434

উত্তর:


318

হালনাগাদ

এখন মনে হচ্ছে ক্রোম এই বৈশিষ্ট্যগুলি style="display: none;"বা style="visibility: hidden;বৈশিষ্ট্যগুলি উপেক্ষা করে ।

আপনি এটিকে এমন কিছুতে পরিবর্তন করতে পারেন:

<input style="opacity: 0;position: absolute;">
<input type="password" style="opacity: 0;position: absolute;">

আমার অভিজ্ঞতায়, ক্রোম কেবল প্রথম <input type="password">এবং পূর্ববর্তীটি স্বয়ংক্রিয়ভাবে পূর্ণ হয় <input>। সুতরাং আমি যোগ করেছি:

<input style="display:none">
<input type="password" style="display:none">

শীর্ষে <form>এবং মামলাটি সমাধান করা হয়েছিল।


54
এটি আর কাজ করবে না ক্রোম 40 এই সমাধানটি কাজ করে না
ব্যবহারকারীর 881703

8
কেবল এই কুৎসিতই নয়, তবে এখনও কেন প্রশ্নটির কোনও ব্যাখ্যা খুঁজে পাচ্ছি না ??
আগস্টিন রিডিংগার

4
দেখে মনে হচ্ছে ক্রোম এখন এগুলিকে উপেক্ষা করে: কোনওটিই ব্যবহৃত হয় না, তাই আমি ক্ষেত্রগুলিকে পরম অবস্থানের সাথে দৃশ্যের বাইরে সরিয়ে নিয়েছি ...
ক্রিস্টোফ লেইটার

1
display: none;উপাদানটি অদৃশ্য হয়ে যাবে, স্বতঃপূরণ সম্পর্কে কিছুই নয়।
সানদুন পেরেরা

276

ব্যবহারকারীর নাম (বা ইমেল) এবং পাসওয়ার্ডের স্বতঃপূরণ প্রতিরোধ করুন:

<input type="email" name="email"><!-- Can be type="text" -->
<input type="password" name="password" autocomplete="new-password">

একটি ক্ষেত্রটি স্বয়ংক্রিয়রূপে প্রতিরোধ করুন ( সম্ভবত এটি কাজ করবে না ):

<input type="text" name="field" autocomplete="nope">

ব্যাখ্যা:

autocompleteএখনও <input>থাকা সত্ত্বেও এটি নিয়ে কাজ করে autocomplete="off"তবে আপনি offপছন্দ মতো এলোমেলো স্ট্রিংয়ে পরিবর্তন করতে পারেন nope


অন্যরা ক্ষেত্রের স্বতঃপূরণ অক্ষম করার জন্য "সমাধানগুলি" (এটি করার সঠিক উপায় নয়, তবে এটি কার্যকর হয়):

1।

এইচটিএমএল:

<input type="password" id="some_id" autocomplete="new-password">

জেএস (অনলোড):

(function() {
    var some_id = document.getElementById('some_id');
    some_id.type = 'text';
    some_id.removeAttribute('autocomplete');
})();

বা jQuery ব্যবহার :

$(document).ready(function() {
    var some_id = $('#some_id');
    some_id.prop('type', 'text');
    some_id.removeAttr('autocomplete');
});

2।

এইচটিএমএল:

<form id="form"></form>

জেএস (অনলোড):

(function() {
    var input = document.createElement('INPUT');
    input.type = 'text';
    document.getElementById('form').appendChild(input);
})();

বা jQuery ব্যবহার :

$(document).ready(function() {
    $('<input>', {
        type: 'text'
    }).appendTo($('#form'));
});

JQuery ব্যবহার করে একাধিক ক্ষেত্র যুক্ত করতে:

function addField(label) {
  var div = $('<div>');
  var input = $('<input>', {
    type: 'text'
  });
  
  if(label) {
    var label = $('<label>', {
      text: label
    });
    
    label.append(input);
    div.append(label);    
  } else {
    div.append(input);    
  }  
  
  div.appendTo($('#form'));
}

$(document).ready(function() {
  addField();
  addField('Field 1: ');  
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="form"></form>


কাজের ভিতর:

  • ক্রোম: 49+

  • ফায়ারফক্স: 44+


কোনও কোড নেই, ঠিক কীভাবে আপনার উত্তর আসলে স্বতঃপূরণ প্রতিরোধ করে যদি স্বতঃসম্পূর্ণ = "" কেবল একটি বুলিয়ান গ্রহণ করার কথা
টালবয়

স্বতঃপূরণ = "নতুন-পাসওয়ার্ড" যখন পাসওয়ার্ড ক্ষেত্রে বরাদ্দ করা হয়, ক্রোমে আমার জন্য কাজ করে। স্বতঃপূরণ = ফর্মটিতে "অফ" হয়নি।
সেকেন্ড 2

2
সর্বাধিক গুরুত্বপূর্ণ (এবং একমাত্র জিনিস যা আমার জন্য কাজ করেছিল) তা হ'ল আপনার আইডি এবং নামের সম্পত্তিটি নিশ্চিত করা ছিল আপনার <ইনপুট> ক্ষেত্রের "ব্যবহারকারীর নাম" বা "পাসওয়ার্ড" নেই। এটি কার্যকরভাবে স্বতঃপূরণ = "বন্ধ" এ আমার জন্য সমস্ত স্বতঃপূরণ বন্ধ করে দিয়েছে।
18:57

new-passwordআসলে কোনও পাসওয়ার্ড নয় এমন কোনও লুকানো ইনপুটের জন্য এটি একটি ভাল ক্যাচ, ধন্যবাদ
antongorodezkiy

লল autocomplete="nope"আসলে আমার পক্ষে কাজ করেছিল, যদি না আমি এটিকে আমার ফর্ম উভয় ক্ষেত্রে যুক্ত করি। যেমনটি আমি উভয় ক্ষেত্রেই রাখতে পারি এবং তারপরে সেই ক্ষেত্রটি স্বয়ংক্রিয়রূপে চলে না, তবে অন্য ক্ষেত্রটি এখনও স্বয়ংক্রিয়ভাবে পূর্ণ হবে, তবে আমি যখনই এটি উভয় ক্ষেত্রে রেখেছি তখনই দু'জনেই আবার স্বতঃপূরণ শুরু করে।
প্রিন্টলনপ্যারামস

147

দেখা যাচ্ছে যে Chrome autocomplete="off"<form autocomplete="off">ট্যাগ না থাকলে এখন তা উপেক্ষা করে ।


প্রতিক্রিয়া ব্যবহারের জন্য 'অটো কমপ্লিট = অফ'।
শূন্য_কুল

ক্রোম কেন এই পরিবর্তন আনল তার ব্যাখ্যার জন্য , এই উত্তরটি দেখুন: stackoverflow.com/a/39689037/1766230 - তারা ব্যবহারকারীদের বিকাশকারীদের উপর অগ্রাধিকার দেয়।
লুক 18

12
আপনি যদি ক্রোম দলটিকে স্বতঃপূরণ = "অফ" ব্যবহারের বৈধ কারণগুলি সরবরাহ করতে চান তবে দয়া করে এখানে এটি করুন: bugs.chromium.org/p/chromium/issues/detail?id=587466
ক্রিস

@ ডিজিগড ক্রোম 71 টি বৈশিষ্ট্যটিকে উপেক্ষা করে না, তবে কিছু ক্ষেত্রে এটি "অফ" মানটিকে উপেক্ষা করে। "দেশ" এর মতো মান ব্যবহার করা আমার পক্ষে এখনও কাজ করে।
বুড়াক

1
পরস্পর বিরোধী প্রতিবেদন রয়েছে বলে উপরোক্ত বিষয়ে কেবল একটি ব্যাখ্যা ation ফর্ম ট্যাগে স্বতঃপূরণ = "অফ" যুক্ত করুন এবং স্বতন্ত্র ইনপুট ট্যাগগুলিতে স্বতঃপূরণ = "নতুন-পাসওয়ার্ড" যুক্ত করুন। ক্রোম 75 হিসাবে কাজ করা হচ্ছে
AndyP9

83

আধুনিক পদ্ধতি

কেবল আপনার ইনপুট তৈরি করুন readonlyএবং ফোকাসের উপর, এটি সরান। এটি একটি খুব সহজ পদ্ধতির এবং ব্রাউজারগুলি readonlyইনপুটগুলি পপুলেশন করবে না । অতএব, এই পদ্ধতিটি স্বীকৃত এবং ভবিষ্যতে ব্রাউজার আপডেটগুলি দ্বারা ওভাররাইট করা হবে না।

<input type="text" onfocus="this.removeAttribute('readonly');" readonly />

পরের অংশটি .চ্ছিক। আপনার ইনপুটটি সেই অনুযায়ী স্টাইল করুন যাতে এটি কোনও ইনপুটটির মতো না দেখায় readonly

input[readonly] {
     cursor: text;
     background-color: #fff;
}

কাজ উদাহরণ


50
@ বাসিত - এবং এজন্যই আমি এটিকে আ modern approach। বিশ্বের 1% এরও কম ব্যবহারকারী জাভাস্ক্রিপ্ট বন্ধ করেছেন। এত সত্য সত্য, ওয়েবসাইটের একটি সংখ্যাগরিষ্ঠ জাভাস্ক্রিপ্ট উপর নির্ভর করে যখন এইরকম ছোট দর্শকদের জন্য উপযুক্ত সময় কারও পক্ষে উপযুক্ত নয়। এখন অনেক দীর্ঘ সময়ের জন্য ওয়েবসাইট বিকাশকারী হয়েছে এবং আমার সাইটগুলির 100% জাভাস্ক্রিপ্ট ব্যবহার করে এবং এটির উপর প্রচুর নির্ভর করে। যদি ব্যবহারকারীদের জাভাস্ক্রিপ্ট বন্ধ থাকে তবে এটি তাদের নিজস্ব সমস্যা এবং পছন্দ, আমার নয়। এটি বন্ধ হয়ে গেলে অনলাইনে কমপক্ষে 90% ওয়েবসাইট দেখতে বা ব্যবহার করতে অক্ষম হবে ... আপনার ডাউনওয়েট সম্পূর্ণ অপ্রাসঙ্গিক।
ফিজিক্স

19
49-এ এটি আজ কাজ করে না Chrome
পুচু

7
২০১৫ সালের সেপ্টেম্বরের এই উত্তরটি মূলত নীচে নীচে নভেম্বর ২০১৪ এ উত্তরটির একটি অনুলিপি।
dsuess

5
2019 - কাজ করে না।
ব্যবহারকারী 2060451

1
এটি স্ক্রিন পাঠকদের ভাঙ্গবে
গ্রেগ

80

নির্ভরযোগ্য কাজের জন্য, আপনি এই কোডটি আপনার বিন্যাস পৃষ্ঠায় যুক্ত করতে পারেন:

<div style="display: none;">
 <input type="text" id="PreventChromeAutocomplete" 
  name="PreventChromeAutocomplete" autocomplete="address-level4" />
</div>

ফর্মটিতে অন্য কোনও স্ব-পরিপূর্ণ মান সহ কমপক্ষে অন্য একটি ইনপুট উপাদান উপস্থিত থাকলে ক্রোম স্বতঃপূরণ = বন্ধকে সম্মান করে।

এটি পাসওয়ার্ড ক্ষেত্রগুলির সাথে কাজ করবে না - এগুলি ক্রোমে খুব আলাদাভাবে পরিচালিত হয়। আরও তথ্যের জন্য https://code.google.com/p/chromium/issues/detail?id=468153 দেখুন ।

আপডেট: ক্রোমিয়াম দল 11 মার্চ, 2016 দ্বারা বাগটি "উইল্ট ফিক্স" হিসাবে বন্ধ হয়ে গেছে full সম্পূর্ণ ব্যাখ্যার জন্য আমার মূলত দায়ের করা বাগ রিপোর্টটিতে শেষ মন্তব্যটি দেখুন । টিএল; ডিআর: ক্রোম অটোফিল সম্পাদন এড়াতে স্বতঃপূরণ = "নতুন-রাস্তার ঠিকানা" এর মতো অর্থপূর্ণ স্বয়ংক্রিয় পরিপূর্ণ বৈশিষ্ট্যগুলি ব্যবহার করুন।


2
@ জোনাথন কাউলি-থম: আমার পরীক্ষামূলক পৃষ্ঠাগুলি সহ আমি যে পরীক্ষাগুলি রেখেছি তা চেষ্টা করুন। উপর hub.securevideo.com/Support/AutocompleteOn , আপনাকে Chrome স্বয়ংসম্পূর্ণ প্রস্তাবনাগুলি দেখতে হবে। তারপরে, hub.securevideo.com/Support/AutocompleteOff এ একই এন্ট্রি ব্যবহার করে দেখুন । আপনার ক্রোম স্বয়ংসম্পূর্ণ পরামর্শ দেখতে পাওয়া উচিত নয়। আমি স্রেফ Chrome 45.0.2454.101 মি এবং 46.0.2490.71 মি এ এটি পরীক্ষা করেছি এবং এটি উভয়ের ক্ষেত্রে প্রত্যাশা অনুযায়ী কাজ করেছে।
জেটি টেলর

এই বিষয়ে আরও একটি আপডেট: আমি সবেমাত্র ক্রোম দল থেকে একটি বিজ্ঞপ্তি পেয়েছি যে এটি ঠিক করা হয়েছে। সুতরাং, আশা করি খুব শীঘ্রই এই পরিশ্রমের আর প্রয়োজন হবে না!
জেটি টেলর

উপরের আমার পোস্টটি দেখুন: "এটি পাসওয়ার্ড ক্ষেত্রগুলির সাথে কাজ করবে না - সেগুলি Chrome এ খুব আলাদাভাবে পরিচালনা করা হয় more আরও তথ্যের জন্য কোড . google.com/p/chromium/issues/detail?id=468153 দেখুন " "
জেটি টেলর

46

ঠিক আছে, পার্টিতে কিছুটা দেরি হলেও মনে হচ্ছে কীভাবে autocompleteকাজ করা উচিত এবং কী করা উচিত নয় সে সম্পর্কে কিছুটা ভুল বোঝাবুঝি রয়েছে । এইচটিএমএল স্পেসিফিকেশন অনুসারে, ব্যবহারকারী এজেন্ট (এই ক্ষেত্রে ক্রোম) ওভাররাইড করতে পারে autocomplete:

https://www.w3.org/TR/html5/forms.html#autofilling-form-controls:-the-autocomplete-attribute

কোনও ব্যবহারকারী এজেন্ট ব্যবহারকারীকে কোনও উপাদানটির অটোফিল ক্ষেত্রের নামটি ওভাররাইড করার অনুমতি দিতে পারে, উদাহরণস্বরূপ পৃষ্ঠা লেখকের আপত্তি সত্ত্বেও মানগুলি স্মরণে রাখতে এবং পূর্বনির্ধারিত করতে বা "স্মরণ" না রাখার জন্য এটি "অফ" থেকে "চালু" করতে পারে মান। তবে ব্যবহারকারীর এজেন্টদের ব্যবহারকারীদের তুচ্ছভাবে অটোফিল ফিল্ডের নামটি "অফ" থেকে "অন" বা অন্যান্য মানগুলিকে ওভাররাইড করার অনুমতি দেওয়া উচিত নয়, কারণ সাইটের মান বিবেচনা না করেই যদি সমস্ত মান সবসময় মনে রাখা থাকে তবে ব্যবহারকারীর জন্য উল্লেখযোগ্য সুরক্ষা জড়িত রয়েছে।

সুতরাং ক্রোমের ক্ষেত্রে, বিকাশকারীরা মূলত বলেছে "আমরা এটি তাদের পছন্দসই পছন্দ করতে চাইলে তাদের পছন্দের বিষয়ে সিদ্ধান্ত নিতে ব্যবহারকারীকে ছেড়ে দেব they autocomplete কাজ । আপনি যদি এটি না চান তবে এটি আপনার ব্রাউজারে সক্ষম করবেন না" ।

যাইহোক, এটি প্রদর্শিত হয় যে এটি আমার পছন্দ হিসাবে তাদের পক্ষ থেকে কিছুটা উত্সাহী, তবে এটি এইভাবে। স্পেসিফিকেশন এ জাতীয় পদক্ষেপের সম্ভাব্য সুরক্ষা সম্পর্কিত প্রভাবগুলি নিয়েও আলোচনা করে:

"অফ" কীওয়ার্ডটি নির্দেশ করে যে নিয়ন্ত্রণের ইনপুট ডেটাগুলি বিশেষভাবে সংবেদনশীল (উদাহরণস্বরূপ পারমাণবিক অস্ত্রের জন্য অ্যাক্টিভেশন কোড); অথবা এটি এমন একটি মান যা কখনই পুনরায় ব্যবহার করা হবে না (উদাহরণস্বরূপ ব্যাঙ্ক লগইনের জন্য এক-সময়-কী) এবং ব্যবহারকারীকে প্রিফিলের জন্য ইউএ-তে নির্ভর করতে না পেরে প্রতিবার স্পষ্টভাবে ডেটা প্রবেশ করতে হবে তার জন্য মূল্য; অথবা ডকুমেন্টটি তার নিজস্ব স্বয়ংসম্পূর্ণ প্রক্রিয়া সরবরাহ করে এবং ব্যবহারকারী এজেন্ট স্বতঃপূরণ মান সরবরাহ করতে চায় না।

সুতরাং অন্য সবার মতো একই হতাশার পরে, আমি একটি সমাধান খুঁজে পেয়েছি যা আমার পক্ষে কাজ করে। এটি শিরাতে অনুরূপautocomplete="false" উত্তর ।

একটি মজিলা নিবন্ধ ঠিক এই সমস্যার কথা বলে:

https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion

কিছু ক্ষেত্রে, স্বয়ংক্রিয়রূপে বৈশিষ্ট্যটি সেট করা থাকলেও ব্রাউজারটি স্ব-সমাপ্তির মানগুলির পরামর্শ দিবে। এই অপ্রত্যাশিত আচরণটি বিকাশকারীদের জন্য বেশ বিস্ময়কর হতে পারে। সত্যিই নো-সমাপ্তিকে বাধ্য করার কৌশলটি হল গুণকে একটি এলোমেলো স্ট্রিং নির্ধারণ করা

সুতরাং নিম্নলিখিত কোডটি কাজ করা উচিত :

autocomplete="nope"

এবং তাই নিম্নলিখিত প্রতিটি করা উচিত:

autocomplete="false"
autocomplete="foo"
autocomplete="bar"

আমি যে সমস্যাটি দেখছি তা হ'ল ব্রাউজার এজেন্টটি autocompleteবৈশিষ্ট্যটি শিখতে এবং ফর্মটি দেখলে পরের বার প্রয়োগ করার জন্য এটি যথেষ্ট স্মার্ট হতে পারে । যদি এটি এটি করে, তবে সমস্যাটি এখনও ঘটাতে দেখতে আমি দেখতে পাচ্ছি একমাত্র উপায় হ'ল গতিশীল changeautocomplete পৃষ্ঠাটি উত্পন্ন হওয়ার পরে বৈশিষ্ট্যটির মান ।

একটি বিষয় উল্লেখযোগ্য যে হ'ল অনেক ব্রাউজার autocompleteলগইন ক্ষেত্রে (ব্যবহারকারীর নাম এবং পাসওয়ার্ড) জন্য সেটিংস উপেক্ষা করবে । মোজিলা নিবন্ধে যেমন বলা হয়েছে:

এই কারণে, অনেক আধুনিক ব্রাউজারগুলি লগইন ক্ষেত্রগুলির জন্য স্বতঃপূরণ = "বন্ধ" সমর্থন করে না।

  • যদি কোনও সাইট কোনও ফর্মের জন্য স্বতঃপূরণ = "বন্ধ" সেট করে এবং ফর্মটিতে ব্যবহারকারীর নাম এবং পাসওয়ার্ড ইনপুট ক্ষেত্র অন্তর্ভুক্ত থাকে, তবে ব্রাউজারটি এখনও এই লগইনটি মনে রাখার প্রস্তাব দিবে, এবং যদি ব্যবহারকারী রাজি হন, ব্রাউজারটি পরের বার সেই ক্ষেত্রগুলি স্বয়ংক্রিয়ভাবে পূরণ করবে ব্যবহারকারী এই পৃষ্ঠাতে যান।
  • যদি কোনও সাইট ব্যবহারকারীর নাম এবং পাসওয়ার্ড ইনপুট ক্ষেত্রগুলির জন্য স্বতঃপূরণ = "বন্ধ" সেট করে, তবে ব্রাউজারটি এখনও এই লগইনটি মনে রাখার প্রস্তাব দিবে, এবং যদি ব্যবহারকারী সম্মত হন, ব্যবহারকারী পরের বার এই পৃষ্ঠাটি দেখার জন্য ব্রাউজার সেই ক্ষেত্রগুলি স্বতঃপূর্ণ করে তুলবে।

ফায়ারফক্স (সংস্করণ 38 হ'ল), গুগল ক্রোম (34 সাল থেকে) এবং ইন্টারনেট এক্সপ্লোরার (11 সংস্করণ থেকে) এর আচরণ এটি।

বৈশিষ্ট্যটি formউপাদান বা উপাদানটির সাথে সম্পর্কিত কিনা তা অবশেষে একটি সামান্য তথ্য input। জল্পনা আবার উত্তর:

যদি স্ব-অসম্পূর্ণ বৈশিষ্ট্য বাদ দেওয়া হয়, তবে উপাদানটির ফর্মের মালিকের স্বতঃপূত বৈশিষ্ট্যের অবস্থার সাথে সম্পর্কিত ডিফল্ট মানটি পরিবর্তে ব্যবহৃত হয় (হয় "চালু" বা "অফ")। যদি কোনও ফর্মের মালিক না থাকে তবে মান "চালু" ব্যবহার করা হয়।

So. এটিকে ফর্মটিতে রাখার জন্য সমস্ত ইনপুট ক্ষেত্রে প্রয়োগ করা উচিত। এটি একটি পৃথক উপাদানের উপর রাখলে ঠিক সেই উপাদানটির জন্য প্রয়োগ করা উচিত (এমনকি যদি ফর্মটিতে এটি নাও থাকে)। যদি autocompleteএকেবারেই সেট না করা থাকে তবে এটি ডিফল্ট হয় on

সারসংক্ষেপ

autocompleteপুরো ফর্মটি অক্ষম করতে :

<form autocomplete="off" ...>

অথবা যদি আপনার গতিশীলভাবে এটি করার দরকার হয়:

<form autocomplete="random-string" ...>

autocompleteএকটি পৃথক উপাদান নিষ্ক্রিয় করতে (ফর্ম সেটিং উপস্থিত থাকুক বা না থাকুক)

<input autocomplete="off" ...>

অথবা যদি আপনার গতিশীলভাবে এটি করার দরকার হয়:

<input autocomplete="random-string" ...>

এবং মনে রাখবেন যে নির্দিষ্ট ব্যবহারকারী এজেন্টরা এমনকি আপনার অক্ষম করার লড়াইয়ের প্রচেষ্টাকেও ওভাররাইড করতে পারে autocomplete


1
2019 - কাজ করে না। সংস্করণ 76.0
ব্যবহারকারী 2060451

1
@ user2060451 - কী কাজ করে না? আমি এটি এখন উইন্ডোজ এবং ম্যাক এ 76.0.3809.87 এ পরীক্ষা করেছি। - উভয় অনুমান অনুসারে সঞ্চালন। উপরে বর্ণিত. আপনি যদি "কাজ করে না" এর চেয়ে আরও কিছুটা বিবরণ দিতে পারেন তবে আমি আপনাকে সাহায্য করতে সক্ষম হতে পারি।
হুলিগানকাট

1
আমি কেবল দেওয়ার চেষ্টা করেছি (সমস্ত কিছু লোড করার পরে এবং এটি সার্ভারের পাশে সেট করে কনসোল থেকে) ইনপুট উপাদানটির স্বতঃপূরণের জন্য একটি এলোমেলো স্ট্রিং, এটি কার্যকর হয়নি। উপাদান গঠনে স্বতঃপূরণ = "বন্ধ" দেওয়াও কার্যকর হয়নি।
নুর্যগদী মুস্তাপায়েভ

37

বর্তমানে সমাধানটি ব্যবহার করা type="search"। গুগল এক ধরণের অনুসন্ধানের সাথে ইনপুটগুলিতে অটোফিল প্রয়োগ করে না।

দেখুন: https://twitter.com/Paul_Kinlan/status/596613148985171968

04/04/2016 আপডেট করুন: দেখে মনে হচ্ছে এটি ঠিক হয়ে গেছে! Http://codereview.chromium.org/1473733008 দেখুন


7
এটি v73 হিসাবে সত্য নয়
মিগুয়েল

29

Chrome সংস্করণ 34 এখন উপেক্ষা করে autocomplete=off, এই দেখুন

এটি একটি ভাল জিনিস বা খারাপ জিনিস কিনা তা নিয়ে প্রচুর আলোচনা ? আপনার মতামত কি?


7
ডাউনভোটের জন্য দুঃখিত ... এটি কোনও আলোচনার সাইট নয় (পরিবর্তে কোওড়া চেষ্টা করুন), এবং আপনি কোনও উত্তর সরবরাহ করবেন না। যদিও লিঙ্ক জন্য ধন্যবাদ।
পাইক

25

ব্রাউজারটি স্বতঃপূরণ = অটো বন্ধের বিষয়ে চিন্তা করে না এমনকি ভুল পাঠ্য ক্ষেত্রেও শংসাপত্রগুলি পূরণ করে?

পাসওয়ার্ড ফিল্ডটি কেবল পঠনযোগ্য এবং সক্রিয় করার জন্য সেট করে আমি এটি স্থির করেছি, যখন ব্যবহারকারীরা এতে ক্লিক করে বা এই ক্ষেত্রে ট্যাব-কী ব্যবহার করে।

ব্রাউজার অটোফিল এ ঠিক করুন: ফোকাসের উপর পঠনযোগ্য এবং সেট লিখতে সক্ষম (মাউস ক্লিক এবং ক্ষেত্রগুলির মধ্যে ট্যাবিং এ)

 <input type="password" readonly  
     onfocus="$(this).removeAttr('readonly');"/>

আপডেট: মোবাইল সাফারি ক্ষেত্রে কার্সার সেট করে তবে ভার্চুয়াল কীবোর্ডটি প্রদর্শন করে না। নতুন ফিক্স আগের মতো কাজ করে তবে ভার্চুয়াল কীবোর্ড পরিচালনা করে:

<input id="email" readonly type="email" onfocus="if (this.hasAttribute('readonly')) {
    this.removeAttribute('readonly');
    // fix for mobile safari to show virtual keyboard
    this.blur();    this.focus();  }" />

লাইভ ডেমো https://jsfiddle.net/danielsuess/n0scguv6/

// আপডেটএন্ড

যাইহোক, আমার পর্যবেক্ষণ সম্পর্কিত আরও তথ্য :

কখনও কখনও আমি ক্রোম এবং সাফারিতে এই অদ্ভুত আচরণটি লক্ষ্য করি, যখন একই ফর্মটিতে পাসওয়ার্ড ক্ষেত্র থাকে আমার ধারণা, আপনার সংরক্ষিত শংসাপত্রগুলি প্রবেশ করানোর জন্য ব্রাউজারটি একটি পাসওয়ার্ড ক্ষেত্র সন্ধান করে। তারপর এটি autofills ব্যবহারকারীর নাম নিকটতম textlike-ইনপুট ক্ষেত্র, যে পূর্বে পাসওয়ার্ড ক্ষেত্রের প্রদর্শিত মধ্যে DOM মধ্যে (ঠিক পর্যবেক্ষণ কারণে মনন)। যেহেতু ব্রাউজারটি সর্বশেষ উদাহরণ এবং আপনি এটি নিয়ন্ত্রণ করতে পারবেন না, কখনও কখনও স্বতঃপূরণ = অফ এমনকি ভুল ক্ষেত্রগুলিতে শংসাপত্রগুলি পূরণ করতে বাধা দেয় না তবে ব্যবহারকারী বা ডাকনাম ক্ষেত্র নয়।


2
অনফোকস ব্যবহার করার পরিবর্তে, আমি কেবলমাত্র পঠনযোগ্য সাফ করার জন্য একটি সেটটাইমআউট ব্যবহার করি, যাতে আমার ব্যবহারকারীরা কেবল ইনপুটটি কেবল পঠিত হয় না এবং কখনই এটি ফোকাস করে না!
হিপ্পিজিম

23

তুমি ব্যবহার করতে পার autocomplete="new-password"

<input type="email" name="email">
<input type="password" name="password" autocomplete="new-password">

কাজের ভিতর:

  • ক্রোম: 53, 54, 55
  • ফায়ারফক্স: 48, 49, 50

এটি কাজ করতে পারে না, কারণ স্বয়ংক্রিয়রূপে স্ট্রিং স্থির। ব্রাউজারগুলি পরের বারের জন্য নতুন পাসওয়ার্ড মনে রাখবে।
পদক্ষেপ

23

টিএল; ডিআর: ক্রোমকে বলুন যে এটি একটি নতুন পাসওয়ার্ড ইনপুট এবং এটি স্বয়ংক্রিয়ভাবে সম্পূর্ণ পরামর্শ হিসাবে পুরানোগুলিকে সরবরাহ করবে না:

<input type="password" name="password" autocomplete="new-password">

autocomplete="off" কোনও ডিজাইনের সিদ্ধান্তের কারণে কাজ করে না - প্রচুর গবেষণা থেকে দেখা যায় যে ব্যবহারকারীরা যদি পাসওয়ার্ডগুলি ব্রাউজারে বা পাসওয়ার্ড ম্যানেজারে সঞ্চয় করতে পারেন তবে পাসওয়ার্ড হ্যাক করা অনেক বেশি দীর্ঘ এবং শক্ত।

এর স্পেসিফিকেশন autocomplete পরিবর্তিত হয়েছে , এবং এখন লগইন ফর্মগুলি স্বয়ংক্রিয়ভাবে সম্পূর্ণরূপে সহজ করতে বিভিন্ন মানকে সমর্থন করে:

<!-- Auto fills with the username for the site, even though it's email format -->
<input type="email" name="email" autocomplete="username">

<!-- current-password will populate for the matched username input  -->
<input type="password" autocomplete="current-password" />

আপনি যদি না এই ক্রোম প্রদান এখনো অনুমান করার চেষ্টা করে, এবং এটি উপেক্ষা করে যখন এটি কাজ করবে autocomplete="off"

সমাধানটি হ'ল autocompleteপাসওয়ার্ড পুনরায় সেট করার ফর্মগুলির জন্য মানগুলিও বিদ্যমান:

<label>Enter your old password:
    <input type="password" autocomplete="current-password" name="pass-old" />
</label>
<label>Enter your new password:
    <input type="password" autocomplete="new-password" name="pass-new" />
</label>
<label>Please repeat it to be sure:
    <input type="password" autocomplete="new-password" name="pass-repeat" />
</label>

আপনি এই autocomplete="new-password"পতাকাটি ব্যবহার করে Chrome কে পাসওয়ার্ড অনুমান না করার জন্য বলতে পারেন, যদিও এটির জন্য এটি কোনও সাইটের জন্য সঞ্চিত রয়েছে।

ক্রোম সরাসরি শংসাপত্রগুলি API ব্যবহার করে সাইটগুলির জন্য পাসওয়ার্ড পরিচালনা করতে পারে যা একটি মান এবং সম্ভবত সর্বশেষে সর্বজনীন সমর্থনও পাবে।


5
আসলেই বাধ্য করার কারণ নয়। ব্যবহারকারী যে কিছু চান তার অর্থ এটি একটি স্মার্ট ধারণা নয়। এটি প্রায় ততটাই খারাপ যা আপনি আপনার অ্যাপ্লিকেশনটিতে একক অক্ষর পাসওয়ার্ডকে অনুমতি দেবেন কারণ ব্যবহারকারী এটি আরও সুবিধাজনক বলে মনে করেন। কখনও কখনও, সুরক্ষা সুবিধার্থে ট্রাম্প ...
ড্যানিয়েল কোটিন

আমার কাছে "কন্টাক্টনোআল্ট" নামে একটি ক্ষেত্র রয়েছে যা ক্রোম একটি ইমেলএড্রেস পূরণ করার জন্য জোর দেয়। স্বাবলম্বনটি অফ / অফকে অগ্রাধিকার দেওয়া হয় তবে একটি ব্যবহারিক স্তরে একটি পরিশ্রমের প্রয়োজন কারণ ক্রোম মিথ্যা is আরও সুস্পষ্টভাবে স্বতঃপূরণ = "বন্ধ" একটি মান - সুতরাং ক্রোমের বিকাশকারীদের এত ভাল কী মনে হয় যে তারা কেবল তারা মানদণ্ডগুলিকে উপেক্ষা করতে পারে বলে মনে করে - সম্ভবত একদিন ক্রোম সিদ্ধান্ত নেবে যে এইচটিএমএল এর অন্য কিছু অংশ অসুবিধাজনক .... আই 5/6 ডি-জা-ভি-র মতো অনুভব করতে)
ডানক্জ

আমি ক্রোম ব্যবহারকারী এবং আমি এই আচরণটি চাই না। এমনকি আমি কেবল ওয়েবের সাথে সম্পর্কিত ওয়েব অ্যাপ্লিকেশনটি অ্যাক্সেস করতে পারব কিনা তা নিশ্চিত করতে এটি পাসওয়ার্ড বাক্সটি স্বয়ংক্রিয়ভাবে পূরণ করার আগে আমাকে জিজ্ঞাসাও করেনি। কিছু পাসওয়ার্ড সংরক্ষণের অর্থ সমস্ত পাসওয়ার্ড স্বয়ংক্রিয়ভাবে পূর্ণ হওয়া উচিত নয় ।
হিপ্পিজিম

3
এই উত্তরটি (এবং গুগলস আচরণ) এই বিষয়টি উপেক্ষা করে যে আপনি এটি করতে চাইতে পারেন তার মধ্যে অন্যতম প্রধান কারণ হ'ল নিজের নিজস্ব (যেমন, ডাটাবেস থেকে তালিকা) স্বতঃপূরণ আচরণগুলি বাস্তবায়ন করা।
স্ক্রোগলজিক.হ্যাডেন

আপনি ক্রোম দ্বারা গৃহীত একটি স্পষ্টত খারাপ সিদ্ধান্ত রক্ষার চেষ্টা করছেন। আমি সংস্থার নীতিটি কার্যকর করছি যা আমি পরিবর্তন করতে পারি না। তাই এখন ক্রোমের জন্য আমাকে হ্যাকগুলি sertোকাতে হবে। তারা বর্তমানে কাজ। যদি তারা কাজ করা বন্ধ করে দেয় তবে আমাদের সংস্থা কর্মীদের জন্য ডিফল্ট ব্রাউজার পরিবর্তন করবে। তাই এখন আমাদের একই আচরণ রয়েছে তবে হ্যাক এবং সম্ভবত ভবিষ্যতের আপগ্রেডে ভাঙা পৃষ্ঠাগুলি। এবং এই সমস্ত উত্তরগুলি এখানে দেখতে এই হ্যাকগুলি ব্যবহার করে প্রচুর ডেভ রয়েছে। ভাল কাজ ক্রোম।
ক্লাদিউ ক্রিঙ্গা

23

আমি এলোমেলো অক্ষর ব্যবহার করে গুগল ক্রোমের সাথে অন্তহীন লড়াইয়ের সমাধান করেছি। আপনি যখন সর্বদা এলোমেলো স্ট্রিংয়ের সাথে স্ব-পরিপূর্ণ রেন্ডার করবেন তখন এটি কখনই কিছু মনে রাখবে না।

<input name="name" type="text" autocomplete="rutjfkde">

আশা করি এটি অন্যান্য লোককে সহায়তা করবে।


12

Autocomplete="Off" আর কাজ করে না।

"Off"উদাহরণস্বরূপ, কেবল একটি এলোমেলো স্ট্রিং ব্যবহার করার চেষ্টা করুনAutocomplete="NoAutocomplete"

আমি আসা করি এটা সাহায্য করবে.


5
ক্রোম 73 এ কাজ করে না
just_user

10

ক্রোমকে এড়িয়ে চলেন autocomplete="off", আমি এটি একটি নির্বোধের সাথে সমাধান করেছি যা "আসল" একটিকে পূরণ করার পরিবর্তে ক্রোমটিকে পূরণ করার জন্য "জাল ইনপুট" ব্যবহার করছে।

উদাহরণ:

<input type="text" name="username" style="display:none" value="fake input" /> 
<input type="text" name="username" value="real input"/>

ক্রোম "জাল ইনপুট" পূরণ করবে এবং জমা দেওয়ার পরে সার্ভার "আসল ইনপুট" মান গ্রহণ করবে।


10

এই সমস্যার একটি আপডেট সমাধান আনতে আমি এই উত্তরটি পোস্ট করছি। আমি বর্তমানে ক্রোম 49 ব্যবহার করছি এবং এর জন্য কোনও প্রদত্ত উত্তর কাজ করছে না। আমি অন্যান্য ব্রাউজার এবং পূর্ববর্তী সংস্করণগুলির সাথে কাজ করে এমন একটি সমাধানও খুঁজছি।

আপনার ফর্মের শুরুতে এই কোডটি রাখুন

<div style="display: none;">
    <input type="text" autocomplete="new-password">
    <input type="password" autocomplete="new-password">
</div>

তারপরে, আপনার আসল পাসওয়ার্ড ক্ষেত্রের জন্য, ব্যবহার করুন

<input type="password" name="password" autocomplete="new-password">

যদি এটি আর কাজ না করে থাকে বা আপনি যদি অন্য ব্রাউজার বা সংস্করণে কোনও সমস্যা পান তবে এই উত্তরের মন্তব্য করুন।

অনুমোদিত:

  • ক্রোম: 49
  • ফায়ারফক্স: 44, 45
  • প্রান্ত: 25
  • ইন্টারনেট এক্সপ্লোরার: 11

1
দুর্ভাগ্যক্রমে, ক্রোম সংস্করণ 49.0.2623.87 এবং এটি টেক্সটবক্সের জন্য কাজ করে না, আমি এখনও স্ব-পরিপূর্ণ পপ আপ দেখতে পাচ্ছি।
e ই

8

যে কেউ এর সমাধান খুঁজছেন, আমি অবশেষে এটি খুঁজে বের করি।

পৃষ্ঠাটি যদি HTML5 পৃষ্ঠা হয় (তবে আমি এক্সএইচটিএমএল ব্যবহার করছিলাম) তবে ক্রোম কেবল স্বতঃপূরণ = "বন্ধ" মেনে চলে।

আমি আমার পৃষ্ঠাটি এইচটিএমএল 5 তে রূপান্তর করেছি এবং সমস্যাটি চলে গেছে (ফেসপাল)।


6

ইনপুট ধরণের বৈশিষ্ট্য এতে পরিবর্তন করুন type="search"

গুগল এক ধরণের অনুসন্ধানের সাথে ইনপুটগুলিতে স্বতঃপূরণ প্রয়োগ করে না।


1
আমি হ্রাস করব: ক্রোম 60 এ পরীক্ষিত: এটি স্বতঃপূরণ প্রতিরোধ করে না ..
boly38

6

এই গত সপ্তাহে অবধি, নীচের দুটি সমাধান ক্রোম, আইই এবং ফায়ারফক্সের জন্য কাজ করতে দেখা গেছে। তবে ক্রোম সংস্করণ 48 প্রকাশিত হওয়ার পরে (এবং এখনও 49 সালে), তারা আর কাজ করে না:

  1. ফর্মের শীর্ষে নিম্নলিখিত:
<input style="display:none" type="text" name="fakeUsername"/>
<input style="display:none" type="password" name="fakePassword"/>
  1. পাসওয়ার্ড ইনপুট উপাদানটিতে নিম্নলিখিত:

    স্বয়ংসম্পূর্ণ = "বন্ধ"

সুতরাং এটির দ্রুত সমাধানের জন্য প্রথমে আমি পাসওয়ার্ড ইনপুট উপাদানটিকে অক্ষম হয়ে সেট করার প্রথমে একটি বড় হ্যাক ব্যবহার করার চেষ্টা করেছি এবং তারপরে আবার সক্ষম করতে ডকুমেন্টের প্রস্তুত ফাংশনে একটি সেটটাইমআউট ব্যবহার করেছি।

setTimeout(function(){$('#PasswordData').prop('disabled', false);}, 50);

তবে এটি দেখতে পাগল বলে মনে হয়েছিল এবং আমি আরও কিছু অনুসন্ধান করেছিলাম এবং ক্রোম অটোফিল অক্ষম করার মধ্যে @ টেবিলগুলির উত্তর পেয়েছি । তার উত্তরটি হল পাসওয়ার্ডগুলির ইনপুটটিতে স্বতঃপূরণ = "নতুন-পাসওয়ার্ড" ব্যবহার করা এবং এটি সমস্ত ব্রাউজারগুলিতে কাজ করে বলে মনে হয় (আমি আমার ফিক্স নম্বরটি এই পর্যায়ে উপরে রেখেছি)।

গুগল ক্রোম বিকাশকারী আলোচনার লিঙ্কটি এখানে: https://code.google.com/p/chromium/issues/detail?id=370363#c7


@ জর্জেস্যাম্পায়ো কেবল পাসওয়ার্ড ইনপুটগুলিতে কাজ করে তবে পাঠ্য ইনপুটগুলিতে নয়।
eYe

6

autocomplete=off আধুনিক ব্রাউজারগুলিতে মূলত উপেক্ষা করা হয় - মূলত পাসওয়ার্ড পরিচালকদের কারণে etc.

আপনি autocomplete="new-password"এটি যুক্ত করার চেষ্টা করতে পারেন এটি সমস্ত ব্রাউজার দ্বারা পুরোপুরি সমর্থিত নয়, তবে এটি কিছুতে কাজ করে


6

autocomplete="off"সাধারণত কাজ করে তবে সর্বদা হয় না। এটি nameইনপুট ক্ষেত্রের উপর নির্ভর করে । "ঠিকানা", 'ইমেল', 'নাম' - এর মতো নামগুলি স্বয়ংক্রিয়ভাবে সম্পন্ন হবে (ব্রাউজারগুলি মনে করে তারা ব্যবহারকারীদের সহায়তা করে), যখন "কোড", "পিন" - এর মতো ক্ষেত্রগুলি স্বয়ংক্রিয়ভাবে পূর্ণ হবে না (যদি autocomplete="off"সেট করা থাকে)

আমার সমস্যাগুলি হ'ল - স্বয়ংক্রিয়ভাবে গুগল অ্যাড্রেস সাহায্যকারীর সাথে বিশৃঙ্খলা তৈরি হয়েছিল

নাম পরিবর্তন করে এটি ঠিক করেছি fixed

থেকে

<input type="text" name="address" autocomplete="off">

প্রতি

<input type="text" name="the_address" autocomplete="off">

ক্রোম 71-এ পরীক্ষিত।


1
আমি মনে করি এটি স্বয়ংক্রিয় সম্পূর্ণ অপসারণের সর্বশেষতম উপায়। ক্রোম 81
-20


5

এটি আমার ক্ষেত্রে কেন কাজ করেছে তা সম্পর্কে কোনও ক্লু নেই, তবে ক্রোমে আমি ব্যবহার করেছি autocomplete="none"এবং Chrome আমার পাঠ্য ক্ষেত্রের জন্য ঠিকানাগুলি দেওয়া বন্ধ করে দিয়েছে।


4

Chrome 42 হিসাবে, এই থ্রেডের কোনও সমাধান / হ্যাক (যেমন হিসাবে 2015-05-21T12:50:23+00:00) কোনও পৃথক ক্ষেত্র বা পুরো ফর্মের জন্য স্বতঃপূরণ অক্ষম করার জন্য কাজ করে না।

সম্পাদনা: আমি খুঁজে পেয়েছি যে display: noneস্বয়ংক্রিয়রোধ রোধ করতে অন্য ক্ষেত্রগুলির আগে আপনাকে কেবল নিজের ফর্মের মধ্যে একটি ডামি ইমেল ক্ষেত্র সন্নিবেশ করাতে হবে (আপনি এটি দিয়ে আড়াল করতে পারেন )। আমি অনুমান করি যে ক্রোম প্রতিটি স্বতঃপূর্ন ক্ষেত্রের সাথে কিছু প্রকারের ফর্ম স্বাক্ষর সংরক্ষণ করে এবং অন্য ইমেল ক্ষেত্র সহ এই স্বাক্ষরটিকে দূষিত করে এবং স্বতঃপূরণ প্রতিরোধ করে।

<form action="/login" method="post">
    <input type="email" name="fake_email" style="display:none" aria-hidden="true">
    <input type="email" name="email">
    <input type="password" name="password">
    <input type="submit">
</form>

সুসংবাদটি হ'ল যেহেতু "ফর্ম স্বাক্ষর" এটির মাধ্যমে দূষিত হয়েছে, তাই কোনও ক্ষেত্র স্বয়ংক্রিয়ভাবে পূর্ণ হয় না, সুতরাং জমা দেওয়ার আগে কোনও জেএস জাল ক্ষেত্রগুলি সাফ করার প্রয়োজন হয় না।

পুরানো উত্তর:

আমি কেবলমাত্র কার্যকর হতে পেরেছি কেবলমাত্র আসল ক্ষেত্রগুলির আগে ইমেল এবং পাসওয়ার্ডের মতো দুটি ডামি ক্ষেত্র সন্নিবেশ করানো। আপনি এগুলি তাদের display: noneআড়াল করার জন্য সেট করতে পারেন (এই ক্ষেত্রগুলি উপেক্ষা করার পক্ষে এটি যথেষ্ট স্মার্ট নয়):

<form action="/login" method="post">
    <input type="email" name="fake_email" style="display:none" aria-hidden="true">
    <input type="password" name="fake_password" style="display:none" aria-hidden="true">
    <input type="email" name="email">
    <input type="password" name="password">
    <input type="submit">
</form>

দুর্ভাগ্যক্রমে, ক্ষেত্রগুলি অবশ্যই আপনার ফর্মের মধ্যে থাকতে হবে (অন্যথায় ইনপুটগুলির উভয় সেট স্বয়ংক্রিয়ভাবে পূরণ করা হবে)। সুতরাং, জাল ক্ষেত্রগুলি সত্যই উপেক্ষা করার জন্য আপনার ফর্মের চালনার জন্য কিছু জেএস প্রয়োজন সেগুলি সাফ করার জন্য:

form.addEventListener('submit', function() {
    form.elements['fake_email'].value = '';
    form.elements['fake_password'].value = '';
});

উপরে থেকে লক্ষ্য করুন যে জাভাস্ক্রিপ্টের সাথে মান সাফ করা স্বয়ংক্রিয়রূপে ওভাররাইড করার জন্য কাজ করে। সুতরাং যদি জেএস অক্ষমদের সাথে যথাযথ আচরণটি হারাতে পারা গ্রহণযোগ্য হয় তবে আপনি Chrome এর জন্য একটি JS স্বতঃপূরণ "পলিফিল" দিয়ে এগুলি সবই সহজ করতে পারেন:

(function(document) {

    function polyfillAutocomplete(nodes) {

        for(var i = 0, length = nodes.length; i < length; i++) {

            if(nodes[i].getAttribute('autocomplete') === 'off') {

                nodes[i].value = '';
            }
        }
    }

    setTimeout(function() {

        polyfillAutocomplete(document.getElementsByTagName('input'));
        polyfillAutocomplete(document.getElementsByTagName('textarea'));

    }, 1);

})(window.document);

4

আমার অনুরূপ সমস্যা ছিল যেখানে ইনপুট ফিল্ডটি নাম বা ইমেল নিয়েছিল। আমি স্বতঃপূরণ = "বন্ধ" সেট করেছি তবে ক্রোম এখনও পরামর্শ জোর করে। দেখা যাচ্ছে যে স্থানধারক পাঠ্যে "নাম" এবং "ইমেল" শব্দ ছিল।

উদাহরণ স্বরূপ

<input type="text" placeholder="name or email" autocomplete="off" />

স্থানধারক শব্দের মধ্যে শূন্য প্রস্থের স্থান রেখে আমি এটির কাছাকাছি চলে এসেছি। আর কোনও ক্রোম স্বয়ংসম্পূর্ণ নয়।

<input type="text" placeholder="nam&#8203;e or emai&#8203;l" autocomplete="off" />

4

ক্রোমে 48+ এ এই সমাধানটি ব্যবহার করুন:

  1. আসল ক্ষেত্রগুলির আগে নকল ক্ষেত্র রাখুন:

    <form autocomplete="off">
      <input name="fake_email"    class="visually-hidden" type="text">
      <input name="fake_password" class="visually-hidden" type="password">
    
      <input autocomplete="off" name="email"    type="text">
      <input autocomplete="off" name="password" type="password">
    </form>
  2. জাল ক্ষেত্রগুলি লুকান:

    .visually-hidden {
      margin: -1px;
      padding: 0;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0 0 0 0);
      clip: rect(0, 0, 0, 0);
      position: absolute;
    }
  3. তুমি এটি করেছিলে!

এছাড়াও এটি পুরানো সংস্করণগুলির জন্য কাজ করবে।


@ আইভো দেখে মনে হচ্ছে আপনার ওগ উত্তরগুলির মধ্যে একমাত্র পার্থক্য রয়েছে! গুরুত্বপূর্ণ ট্যাগগুলি, তাই আমি এগুলি যুক্ত করেছি, এখনও কাজ করছি না। dropbox.com/s/24yaz6ut7ygkoql/…
মাইক পুরসেল

আপনি না থাকে @MikePurcell autocomplete="off"উপর formট্যাগ। formট্যাগ করার সাথে সাথে জাল ইনপুট লাগানোর চেষ্টা করুন ।
yivo

@ আইভো: আপনার পরামর্শগুলি চেষ্টা করেছেন, ইমেল ক্ষেত্রের জন্য দুর্দান্ত কাজ করেছেন, তবে পাসওয়ার্ড ক্ষেত্রে অটোফিল ড্রপডাউন এখনও ঘটে still ড্রপবক্স
মাইক পার্সেল

3

ক্রোম বনাম 34 পরে, ট্যাগে সেট autocomplete="off"করা <form>কাজ করে না

এই বিরক্তিকর আচরণ এড়াতে আমি পরিবর্তনগুলি করেছি:

  1. সরান nameএবং idপাসওয়ার্ড ইনপুটের
  2. ইনপুটটিতে একটি শ্রেণি রাখুন (প্রাক্তন passwordInput:)

(এখনও অবধি, Chrome ইনপুটটিতে সংরক্ষিত পাসওয়ার্ড রাখবে না, তবে ফর্মটি এখন ভেঙে গেছে)

অবশেষে, ফর্মটি কাজ করতে, ব্যবহারকারী সাবমিট বাটনে ক্লিক করুন বা আপনি যখনই ফর্ম জমাটি ট্রিগার করতে চান তখন এই কোডটি চালানোর জন্য রাখুন:

var sI = $(".passwordInput")[0];
$(sI).attr("id", "password");
$(sI).attr("name", "password");

আমার ক্ষেত্রে, আমি id="password" name="password"পাসওয়ার্ড ইনপুটটিতে হাভ করতাম, তাই আমি সাবমিশনটি ট্রিগার করার আগে এগুলি ফিরিয়ে দিয়েছিলাম।


3

সমস্ত সমাধান চেষ্টা করার পরে, ক্রোম সংস্করণ: 45 এর ফর্মের সাথে পাসওয়ার্ডের ক্ষেত্র থাকার জন্য এটি কাজ করছে বলে মনে হচ্ছে:

 jQuery('document').ready(function(){
        //For disabling Chrome Autocomplete
        jQuery( ":text" ).attr('autocomplete','pre'+Math.random(0,100000000));
 });

3

আমি ক্রোম 49-এ আপডেট করেছি এবং ডায়োগো সিডের সমাধানটি আর কাজ করে না।

পৃষ্ঠাটি লোড হওয়ার পরে রান-টাইমে ক্ষেত্রগুলি লুকিয়ে রেখে মুছে ফেলার জন্য আমি আলাদা কাজ করেছি।

ক্রোম এখন প্রথম প্রদর্শিত type="password" ক্ষেত্র এবং তার আগের type="text"ক্ষেত্রে শংসাপত্রগুলি প্রয়োগ করে আসল কাজটিকে অগ্রাহ্য করে , তাই আমি CSS ব্যবহার করে উভয় ক্ষেত্রই লুকিয়ে রেখেছি visibility: hidden;

<!-- HTML -->
<form>
    <!-- Fake fields -->
    <input class="chromeHack-autocomplete">
    <input type="password" class="chromeHack-autocomplete">

    <input type="text" placeholder="e-mail" autocomplete="off" />
    <input type="password" placeholder="Password" autocomplete="off" />
</form>

<!-- CSS -->
.chromeHack-autocomplete {
    height: 0px !important;
    width: 0px !important;
    opacity: 0 !important;
    padding: 0 !important; margin: 0 !important;
}

<!--JavaScript (jQuery) -->
jQuery(window).load(function() {
    $(".chromeHack-autocomplete").delay(100).hide(0, function() {
        $(this).remove();
    });
});

আমি জানি এটি খুব মার্জিত নাও লাগতে পারে তবে এটি কাজ করে।


2

আমি এই সমাধানটি সবচেয়ে উপযুক্ত হিসাবে খুঁজে পেয়েছি:

function clearChromeAutocomplete()
{
// not possible, let's try: 
if (navigator.userAgent.toLowerCase().indexOf('chrome') >= 0) 
{
document.getElementById('adminForm').setAttribute('autocomplete', 'off'); 
setTimeout(function () {
        document.getElementById('adminForm').setAttribute('autocomplete', 'on'); 
}, 1500);
}
}

এটি অবশ্যই ডোম প্রস্তুতের পরে, বা ফর্মটি রেন্ডার করার পরে লোড করা উচিত।


2

আমি স্বীকার করি স্বাবলম্বী হওয়া একটি ব্যবহারকারীর পছন্দ হওয়া উচিত, এমন সময়গুলি আসে যখন Chrome এর সাথে অত্যধিক উদ্যোগী হয় (অন্যান্য ব্রাউজারগুলিও এটি হতে পারে)। উদাহরণস্বরূপ, একটি পৃথক নামের পাসওয়ার্ড ক্ষেত্রটি এখনও একটি সংরক্ষিত পাসওয়ার্ড এবং স্বয়ংক্রিয়ভাবে পূর্ববর্তী ক্ষেত্রটি ব্যবহারকারীর নাম দিয়ে পূর্ণ auto এটি বিশেষত স্তন্যপান করে যখন ফর্মটি কোনও ওয়েব অ্যাপ্লিকেশনের জন্য ব্যবহারকারী পরিচালনার ফর্ম হয় এবং আপনি নিজের শংসাপত্রগুলির সাথে এটি স্বয়ংক্রিয় পূরণ করতে চান না।

Chrome এখন স্বতঃপূরণ = "বন্ধ" সম্পূর্ণ উপেক্ষা করে ign জেএস হ্যাকস ভালভাবে কাজ করতে পারে, আমি একটি সহজ উপায় খুঁজে পেয়েছি যা লেখার সময় কাজ করে:

পাসওয়ার্ড ক্ষেত্রের মানটি নিয়ন্ত্রণের অক্ষর 8 তে নির্ধারণ করুন ( "\x08"পিএইচপি বা তে)&#8; এইচটিএমএল)। এটি ক্রমটি স্বয়ংক্রিয়ভাবে ফিল্ডিং বন্ধ করে দেয় কারণ এটির একটি মান রয়েছে তবে কোনও আসল মান প্রবেশ করা হয়নি কারণ এটি ব্যাকস্পেসের অক্ষর।

হ্যাঁ এটি এখনও একটি হ্যাক, তবে এটি আমার পক্ষে কার্যকর। YMMV।


মনে হচ্ছে না ক্রোম 40
হুড

আমি মনে করি তারা এই হ্যাকটি তুলেছে এবং মানটিতে নিয়ন্ত্রণের অক্ষরগুলিকে উপেক্ষা করেছে, তাই এটি এখন খালি মূল্যায়ণ করে। সঠিক, আপ-টু-ডেট সমাধানের জন্য @ আইসক্রিম স্ট্যাকওভারফ্লো.com/a/16130452/752696 এর উত্তর দেখুন ।
spikyjt

একই ব্যবহারের ক্ষেত্রে এখানে: ব্যবহারকারীর পরিচালনার সাথে কাজ করা এবং নিজস্ব শংসাপত্রগুলি স্বয়ংক্রিয়ভাবে পূরণ করা। তবে এটি যেহেতু এটি আমার নিজস্ব কোড এবং আমি formনতুন ব্যবহারকারী তৈরি করতে এবং পুনরায় ব্যবহার করে বিদ্যমান ব্যবহারকারীদের কেবল জেএসের inputমাধ্যমে ওভাররাইডিং মানগুলি স্বয়ংক্রিয়-সম্পূর্ণকে সরিয়ে ফেলেছি ।
নুয়াল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.