티스토리 뷰

카테고리 없음

[HTML] Chrome 자동 완성 사용 중지

필살기쓰세요 2021. 2. 10. 02:41

2021 년 1 월 : autocomplete="off"

현재 예상대로 작동합니다 (Chrome 88 macOS에서 테스트 됨).


2020 년 9 월 : autocomplete="chrome-off"

Chrome 자동 완성을 사용 중지합니다.


2015 년 원래 답변 :

새 Chrome 버전

autocomplete="new-password"

의 경우 비밀번호 입력란에 입력하면됩니다. 나는 그것을 확인했고 잘 작동합니다.이 토론에서 Chrome 개발자로부터 팁을 받았습니다 :

https://bugs.chromium.org/p/chromium/issues/detail?id=370363#c7

추신 : Chrome은 이름, ID 및 레이블 및 임의의 텍스트 노드를 포함하여 필드를 둘러싼 텍스트 콘텐츠에서 자동 채우기 동작을 추론하려고 시도합니다.

street-address

컨텍스트에서 와 같은 자동 완성 토큰이있는 경우 Chrome은이를 자동 완성합니다. 휴리스틱은 양식에 추가 필드가있는 경우에만 트리거되거나 양식에 필드가 너무 적은 경우에만 트리거되므로 매우 혼란 스러울 수 있습니다. 또한

autocomplete="no"

작동하는 것처럼 보이지만

autocomplete="off"

역사적 이유로는 작동 하지 않습니다.

autocomplete="no"

이 필드가라는 필드로 자동 완성되어야한다고 브라우저에 알리는 것

"no"

입니다. 고유 한 임의

autocomplete

이름 을 생성하는 경우 자동 완성을 비활성화합니다.사용자가 잘못된 양식을 방문한 경우 자동 완성 정보가

손상

될 수 있습니다 . 수동으로 들어가서 Chrome에서 자동 완성 정보를 수정하도록하는 것은 그들이 취해야 할 조치 일 수 있습니다.-------------------
난 그냥 당신이 사이트에 대한 기억 사용자 이름과 암호가있는 경우, 크롬의 현재 버전에 사용자 이름 / 이메일 주소를 자동 완성 할 것으로 나타났습니다

전에 필드

모든

type=password

필드. 필드가 무엇인지는 신경 쓰지 않습니다. 단지 암호가 사용자 이름이되기 전에 필드를 가정합니다.

오래된 솔루션

사용하기 만하면

<form autocomplete="off">

브라우저가 만들 수있는 가정을 기반으로하는 모든 종류의 휴리스틱 필드 채우기뿐만 아니라 암호 미리 채우기를 방지 할 수 있습니다 (종종 잘못됨).

<input autocomplete="off">

암호 자동 완성에 의해 거의 무시되는 것처럼 보이는 사용 과는 반대로 (즉, Firefox는이를 준수합니다).

업데이트 된 솔루션

이제 Chrome은

<form autocomplete="off">

. 따라서 (내가 삭제 한) 원래의 해결 방법은 이제 모든 분노입니다.몇 개의 필드를 만들고 "display : none"을 사용하여 숨기면됩니다. 예:

<!-- fake fields are a workaround for chrome autofill getting the wrong fields -->
<input style="display: none" type="text" name="fakeusernameremembered" />
<input style="display: none" type="password" name="fakepasswordremembered" />

그런 다음 실제 필드를 아래에 두십시오.댓글을 추가하는 것을 잊지 마십시오. 그렇지 않으면 팀의 다른 사람들이 당신이 무엇을하고 있는지 궁금 할 것입니다!

2016 년 3 월 업데이트

최신 Chrome으로 테스트했습니다. 모두 좋습니다. 이것은 현재 상당히 오래된 답변이지만 우리 팀이 수십 개의 프로젝트에서 수년 동안 그것을 사용하고 있음을 언급하고 싶습니다. 아래의 몇 가지 의견에도 불구하고 여전히 훌륭하게 작동합니다. 필드가

display:none

초점을 맞추지 못함을 의미 하기 때문에 접근성에 문제가 없습니다 . 내가 언급했듯이 실제 필드

앞에

놓아야합니다 .자바 스크립트를 사용하여 양식을 수정하는 경우 추가 트릭이 필요합니다. 양식을 조작하는 동안 가짜 필드를 표시 한 다음 밀리 초 후에 다시 숨 깁니다.jQuery를 사용한 예제 코드 (가짜 필드에 클래스를 제공한다고 가정) :

$(".fake-autofill-fields").show();
// some DOM manipulation/ajax here
window.setTimeout(function () {
  $(".fake-autofill-fields").hide();
  }, 1);
  

2018 년 7 월 업데이트

Chrome의 사용 방지 전문가가 열심히 일했기 때문에 내 솔루션이 더 이상 잘 작동하지 않습니다. 그러나 그들은 우리에게 다음과 같은 형태로 뼈를 던졌습니다.

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

이것은 효과가 있으며 대부분 문제를 해결합니다.그러나 비밀번호 필드가없고 이메일 주소 만 있으면 작동하지 않습니다. 또한 노란색으로 변하고 미리 채우기를 중지하는 것도 어려울 수 있습니다. 가짜 필드 솔루션을 사용하여이 문제를 해결할 수 있습니다.사실 가끔은 가짜 필드 두 개에 들러서 다른 곳에서 시도해야합니다. 예를 들어, 양식 시작 부분에 이미 가짜 필드가 있었지만 Chrome은 최근에 '이메일'필드를 다시 미리 채우기 시작했습니다. 그래서 두 배로 줄여서 '이메일'필드 바로 앞에 가짜 필드를 더 많이 입력했습니다. . 필드의 첫 번째 또는 두 번째 로트를 제거하면 잘못된 자동 완성으로 되돌아갑니다.

2020 년 3 월 업데이트

이 솔루션이 여전히 작동하는지 여부와시기는 명확하지 않습니다. 때로는 여전히 작동하는 것처럼 보이지만 항상 그런 것은 아닙니다.아래 주석에서 몇 가지 힌트를 찾을 수 있습니다. @anilyeni가 방금 추가 한 것은 좀 더 조사 할 가치가 있습니다.

내가 알다시피 autocomplete="off", .NET Framework에 3 개 미만의 요소가있는 경우 Chrome 80 에서 작동합니다 <form>. 나는 논리가 무엇인지 또는 그것에 대한 관련 문서가 어디에 있는지 모릅니다.

또한 @dubrox의 이것은 테스트하지 않았지만 관련이있을 수 있습니다.

트릭에 감사드립니다. display:none;더 이상 작동하지 않지만 답변을 업데이트하십시오. position: fixed;top:-100px;left:-100px; width:5px;:)

2020 년 4 월 업데이트

이 속성에 대한 크롬의 특수 값은 작업을 수행하는 것입니다. (입력시 테스트했지만 나에 의해 테스트되지 않음)

autocomplete="chrome-off"

-------------------
몇 달과 몇 달의 노력 끝에 저는 그 해결책이 당신이 상상할 수있는 것보다 훨씬 더 간단하다는 것을 알게되었습니다.대신

autocomplete="off"

사용

autocomplete="false"

)그렇게 간단하고 Google 크롬에서도 매력적으로 작동합니다!


2019 년 8 월 업데이트 (댓글에서 @JonEdiger에 대한 크레딧)

참고 : 많은 온라인 정보에 따르면 브라우저는 이제 autocomplete = 'false'를 autocomplete = 'off'와 동일하게 처리합니다. 적어도 현재로서는이 세 가지 브라우저에 대한 자동 완성을 방지하고 있습니다.양식 수준에서 설정 한 다음 해제하려는 입력에 대해 '없음'과 같은 유효하지 않은 값으로 설정합니다.

<form autocomplete="off"> 
  <input type="text" id="lastName" autocomplete="none"/> 
    <input type="text" id="firstName" autocomplete="none"/>
    </form>
    

-------------------
때로는

autocomplete=off

자격 증명을 잘못된 필드에 채우는 것을 막지 못할 수도 있습니다.해결 방법은 읽기 전용 모드를 사용하여 브라우저 자동 채우기를 비활성화하고 포커스에 쓰기 가능을 설정하는 것입니다.

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

focus

이벤트는 마우스를 클릭하고 필드를 탭할 때 발생합니다.최신 정보:Mobile Safari는 필드에 커서를 설정하지만 가상 키보드는 표시하지 않습니다. 이 새로운 해결 방법은 이전과 같이 작동하지만 가상 키보드를 처리합니다.

<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/

// UpdateEnd

설명 :

브라우저가 신임 정보를 잘못된 텍스트 필드에 자동으로 채웁니까?

입력 내용을 잘못 입력하는 경우 (예 : 전화 입력에 이메일 주소를 입력)

 

동일한 양식

에 비밀번호 필드가있을 때 Chrome 및 Safari에서이 이상한 동작을 발견하는 경우가 있습니다 . 브라우저는 저장된 자격 증명을 삽입하기 위해 암호 필드를 찾습니다. 그런 다음 DOM 의 암호 필드 앞에 나타나는 가장 가까운 textlike-input 필드에 사용자 이름

자동 으로 채 웁니다

(관찰 때문에 추측). 브라우저가 마지막 인스턴스이고 제어 할 수 없기 때문에위의 읽기 전용 수정이 저에게 효과적이었습니다.-------------------
검색 상자 기능을 구현하는 경우

type

속성을

search

다음과 같이 설정해보십시오 .

<input type="search" autocomplete="off" />

이것은 Chrome v48에서 저에게 효과적이며 합법적 인 마크 업으로 보입니다.

https://www.w3.org/wiki/HTML/Elements/input/search

-------------------
이 시도. 나는 질문이 다소 오래되었다는 것을 알고 있지만 이것은 문제에 대한 다른 접근 방식입니다.나는 또한 문제가

password

필드 바로 위에 있음을 발견했습니다 .나는 두 가지 방법을 모두 시도했다.

<form autocomplete="off">

그리고

<input autocomplete="off">

하지만 그들 중 누구도 나를 위해 일하지 않는다.그래서 아래 코드를 사용하여 수정했습니다. 비밀번호 유형 필드 바로 위에 다른 텍스트 필드를 추가하고 만들었습니다

display:none

.이 같은:

<input type="text" name="prevent_autofill" id="prevent_autofill" value="" style="display:none;" />
<input type="password" name="password_fake" id="password_fake" value="" style="display:none;" />
<input type="password" name="password" id="password" value="" />

누군가를 도울 수 있기를 바랍니다.-------------------
나는 이유를 모르겠지만 이것은 나를 위해 도움이되고 일했습니다.

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

이유는 모르겠지만

autocomplete = "new-password"는

자동 완성을 비활성화합니다. 최신

49.0.2623.112

크롬 버전 에서 작동했습니다 .-------------------
나를 위해 간단

<form autocomplete="off" role="presentation">

그것을했다.여러 버전에서 테스트되었으며 마지막 시도는 56.0.2924.87입니다.-------------------
이 속성을 추가해야합니다.

autocomplete="new-password"

소스 링크 :

전체 기사

-------------------
너무 간단하고 까다 롭습니다 :)구글 크롬은 기본적으로 검색

마다 표시되는 첫 번째 암호 요소

내부

<form>

,

<body>

그리고

<iframe>

태그 그래서 당신은 다음과 같은 더미 암호 요소를 추가하기 위해 필요한이 비활성화, 그들을 위해 자동 리필을 사용하려면 :

    • <form>

      태그 안에 비밀번호 요소가있는 경우

      <form>

      오픈 태그 바로 뒤에 더미 요소를 양식의 첫 번째 요소로 넣어야합니다.
    • <form>

      태그 안에 비밀번호 요소가 없으면

      <body>

      오픈 태그 바로 뒤에 더미 요소를 html 페이지의 첫 번째 요소로 넣으십시오.
  1. css를 사용하지 않고 더미 요소를 숨길 필요가

    display:none

    있으므로 기본적으로 다음을 더미 암호 요소로 사용하십시오.
    <input type="password" style="width: 0;height: 0; visibility: hidden;position:absolute;left:0;top:0;"/>
        

-------------------
Google이 사람들이 만드는 모든 해결 방법을 재정의하기 때문에 제가 제안한 솔루션은 다음과 같습니다.

옵션 1-클릭시 모든 텍스트 선택

입력 값을 사용자에 대한 예제 (예 :)

your@email.com

또는 필드의 레이블 (예 :)로 설정

Email

하고

focus-select

입력에 호출 된 클래스를 추가합니다 .

<input type="text" name="email" class="focus-select" value="your@email.com">
<input type="password" name="password" class="focus-select" value="password">

다음은 jQuery입니다.

$(document).on('click', '.focus-select', function(){
  $(this).select();
  });
  

나는 크롬이 가치를 망치는 것을 정말로 볼 수 없다. 그것은 미쳤을 것입니다. 그래서 이것이 안전한 해결책이되기를 바랍니다.

옵션 2-이메일 값을 공백으로 설정 한 다음 삭제

이메일 및 비밀번호와 같은 두 가지 입력이 있다고 가정하고 이메일 필드의 값을

" "

(공백)으로 설정하고 속성 / 값을 추가

autocomplete="off"

한 다음 JavaScript로이를 지 웁니다.

비밀번호 값은 비워 둘 수 있습니다.

사용자가 어떤 이유로 자바 스크립트를 가지고 있지 않다면, 공간을 삭제하지 않을 경우를 대비하여 입력 서버 측을 다듬어야합니다.다음은 jQuery입니다.

$(document).ready(function() {
  setTimeout(function(){
      $('[autocomplete=off]').val('');
        }, 15);
        });
        

테스트에서 가끔 작동하는 것처럼 보였기

15

때문에 타임 아웃을로 설정

5

했으므로이 숫자를 3 배로 늘리는 것이 안전한 내기처럼 보입니다.초기 값을 공백으로 설정하지 않으면 Chrome이 입력을 자동으로 채운 것처럼 노란색으로 남겨 둡니다.

옵션 3-숨겨진 입력

양식 시작 부분에 다음을 입력하십시오.

<!-- Avoid Chrome autofill -->
<input name="email" class="hide">

CSS :

.hide{ display:none; }

다른 개발자가 삭제하지 않도록 HTML 노트를 보관하십시오! 또한 숨겨진 입력의 이름이 적절한 지 확인하십시오.-------------------
type = password 를 사용하지 않고 css

text-security : disc

를 사용하십시오 .HTML

<input type='text' name='user' autocomplete='off' />
<input type='text' name='pass' autocomplete='off' class='secure' />

or

<form autocomplete='off'>
    <input type='text' name='user' />
        <input type='text' name='pass' class='secure' />
        </form>
        

CSS

input.secure {
    text-security: disc;
        -webkit-text-security: disc;
        }
        

-------------------
경우에 따라 브라우저는 autocomplete 속성이 off로 설정되어 있어도 자동 완성 값을 계속 제안합니다. 이 예상치 못한 동작은 개발자에게 매우 당혹 스러울 수 있습니다. 자동 완성을 강제로 강제하는 비결

은 속성에 임의의 문자열을 할당하는 것

입니다. 예를 들면 다음과 같습니다.

autocomplete="nope"

-------------------
이것을 양식에 추가하면 Chrome에서 자동 완성을 사용하지 못하는 것으로 나타났습니다.

<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#hc41

Chrome이 개발자보다 자동 완성시기를 더 잘 안다고 결정한 것은 정말 실망 스럽습니다. 실제 Microsoft 느낌이 있습니다.-------------------

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

onfocus 이벤트와 함께 태그에 readonly 속성을 추가하면 문제가 해결됩니다.-------------------
이전에 크롬에 캐시 된 값은 드롭 다운 선택 목록으로 표시됩니다. 이것은 autocomplete = off로 비활성화 할 수 있으며, 크롬의 고급 설정에 명시 적으로 저장된 주소는 주소 필드에 포커스가있을 때 자동 완성 팝업을 제공합니다. 이것은 autocomplete = "false"로 비활성화 할 수 있습니다. 하지만 크롬은 드롭 다운에 캐시 된 값을 표시 할 수 있습니다.입력 html 필드에서 다음은 둘 다 꺼집니다.

Role="presentation" & autocomplete="off"

주소 자동 채우기를위한 입력 필드를 선택하는 동안 Chrome은 앞에 레이블 html 요소가없는 입력 필드를 무시합니다. 크롬 파서가 주소 자동 완성 팝업에 대한 입력 필드를 무시하도록하기 위해 숨겨진 버튼 또는 이미지 컨트롤을 레이블과 텍스트 상자 사이에 추가 할 수 있습니다. 이렇게하면 자동 채우기를위한 레이블 입력 쌍 생성의 크롬 구문 분석 시퀀스가 ​​중단됩니다. 주소 필드를 구문 분석하는 동안 확인란이 무시됩니다.Chrome은 라벨 요소의 "for"속성도 고려합니다. 크롬의 구문 분석 시퀀스를 중단하는 데 사용할 수 있습니다.-------------------
사용자 이름 암호 콤보의 경우 이것은 해결하기 쉬운 문제입니다. Chrome 휴리스틱 스는 다음 패턴을 찾습니다.

<input type="text">

뒤에 :

<input type="password">

다음을 무효화하여이 프로세스를 중단하십시오.

<input type="text">
<input type="text" onfocus="this.type='password'">

-------------------
Mike Nelsons가 제공 한 솔루션은 Chrome 50.0.2661.102 m에서 저에게 작동하지 않았습니다. display : none이 설정된 동일한 유형의 입력 요소를 추가하는 것만으로 더 이상 기본 브라우저 자동 완성이 비활성화되지 않습니다. 이제 자동 완성을 비활성화하려는 입력 필드의 이름 속성을 복제해야합니다.또한 입력 필드가 양식 요소 내에있을 때 중복되는 것을 방지하려면 표시되지 않는 요소에 비활성화를 배치해야합니다. 이렇게하면 해당 요소가 양식 작업의 일부로 제출되지 않습니다.

<input name="dpart" disabled="disabled" type="password" style="display:none;">
<input name="dpart" type="password">
<input type="submit">

-------------------
2016 년 Google 크롬

autocomplete=off

은 W3C에 있지만 무시하기 시작했습니다 .

그들이 게시 한 답변

:

여기서 까다로운 부분은 웹 autocomplete = off가 사용자에게 좋은지 아닌지에 대한 실제적인 생각없이 많은 양식 필드의 기본값이되는 것입니다. 이것은 브라우저 자동 채우기 데이터 (예 : CRM 시스템)를 원하지 않는 매우 유효한 사례가 없다는 것을 의미하지는 않지만 대체로 소수 사례로 간주됩니다. 그 결과 Chrome 자동 완성 데이터에 대해 autocomplete = off를 무시하기 시작했습니다.

본질적으로 말하자면 : 우리는 사용자가 원하는 것을 더 잘 알고 있습니다.

autocomplete = off가 필요할 때 유효한 사용 사례를 게시하기 위해 또 다른 버그를 열었습니다.

모든 B2B 응용 프로그램을 통해 자동 완성과 관련된 문제는 보지 못했지만 암호 유형을 입력했을 때만 발생했습니다.숨겨진 암호라도 화면에 암호 필드가 있으면 자동 완성 단계가 시작됩니다. 이 논리를 깨기 위해 자신의 페이지 논리를 깨지 않는 경우 각 암호 필드를 자체 양식에 넣을 수 있습니다.

<input type=name >

<form>
    <input type=password >
    </form>
    

-------------------
자리 표시자를 유지하는 데 문제가 있지만 크롬 자동 채우기를 비활성화하는 경우이 해결 방법을 찾았습니다.

문제

HTML

<div class="form">
    <input type="text" placeholder="name"><br>
        <input type="text" placeholder="email"><br>
            <input type="text" placeholder="street"><br>
            </div>
            

http://jsfiddle.net/xmbvwfs6/1/

위의 예는 여전히 자동 채우기 문제를 생성하지만

required="required"

일부 CSS와 일부 CSS를 사용 하면 자리 표시자를 복제 할 수 있으며 Chrome은 태그를 선택하지 않습니다.

해결책

HTML

<div class="form">
    <input type="text" required="required">
        <label>Name</label>  
            <br>
                <input type="text" required="required">
                    <label>Email</label>    
                        <br>
                            <input type="text" required="required">
                                <label>Street</label>    
                                    <br>
                                    </div>
                                    

CSS

input {
    margin-bottom: 10px;
        width: 200px;
            height: 20px;
                padding: 0 10px;
                    font-size: 14px;
                    }
                    input + label {
                        position: relative;
                            left: -216px;
                                color: #999;
                                    font-size: 14px;
                                    }
                                    input:invalid + label { 
                                        display: inline-block; 
                                        }
                                        input:valid + label { 
                                            display: none; 
                                            }
                                            

http://jsfiddle.net/mwshpx1o/1/

-------------------

나는 숨겨진 필드를 만드는 것을 정말 좋아하지 않았고, 그렇게 만드는 것이 정말 빨리 혼란 스러울 것이라고 생각합니다.

자동 완성에서 중지하려는 입력 필드에서 작동합니다. 필드를 읽기 전용으로 만들고 포커스에 다음과 같은 속성을 제거하십시오.

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

이것이하는 일은 먼저 필드를 선택하여

읽기 전용 속성

을 제거해야 한다는 것입니다. 그 때 가장 가능성이 높은 사용자 입력으로 채워지고

자동 완성 기능

이 대신 적용됩니다.-------------------
우리 모두가이 문제를 가지고 있기 때문에이 문제에 대해 작동하는 jQuery 확장을 작성하는 데 시간을 투자했습니다.

Google은 Google을 따르지 않고 HTML 마크 업을 따라야합니다.

(function ($) {

"use strict";

$.fn.autoCompleteFix = function(opt) {
    var ro = 'readonly', settings = $.extend({
            attribute : 'autocomplete',
                    trigger : {
                                disable : ["off"],
                                            enable : ["on"]
                                                    },
                                                            focus : function() {
                                                                        $(this).removeAttr(ro);
                                                                                },
                                                                                        force : false
                                                                                            }, opt);
                                                                                            
                                                                                                $(this).each(function(i, el) {
                                                                                                        el = $(el);
                                                                                                        
                                                                                                                if(el.is('form')) {
                                                                                                                            var force = (-1 !== $.inArray(el.attr(settings.attribute), settings.trigger.disable))
                                                                                                                                        el.find('input').autoCompleteFix({force:force});
                                                                                                                                                } else {
                                                                                                                                                            var disabled = -1 !== $.inArray(el.attr(settings.attribute), settings.trigger.disable);
                                                                                                                                                                        var enabled = -1 !== $.inArray(el.attr(settings.attribute), settings.trigger.enable);
                                                                                                                                                                                    if (settings.force && !enabled || disabled)
                                                                                                                                                                                                    el.attr(ro, ro).focus(settings.focus).val("");
                                                                                                                                                                                                            }
                                                                                                                                                                                                                });
                                                                                                                                                                                                                };
                                                                                                                                                                                                                })(jQuery);
                                                                                                                                                                                                                

 

/js/jquery.extends.js

같은 파일에 이것을 추가 하고 jQuery를 지나서 포함하십시오. 다음과 같이 문서를로드 할 때 각 양식 요소에 적용합니다.

$(function() {
    $('form').autoCompleteFix();
    });
    

테스트가있는 jsfiddle

-------------------

jQuery

나를 위해 일한 다음 코드를 시도하십시오 .

if ($.browser.webkit) {
    $('input[name="password"]').attr('autocomplete', 'off');
        $('input[name="email"]').attr('autocomplete', 'off');
        }
        

-------------------
여기에는 두 가지가 있습니다. Chrome 및 기타 브라우저는 필드 이름에 대해 이전에 입력 한 값을 기억하고이를 기반으로 사용자에게 자동 완성 목록을 제공합니다 (특히 암호 유형 입력은 상당히 명백한 이유로 이러한 방식으로 기억

되지 않음

).

autocomplete="off"

이메일 필드와 같은 것에이를 방지하기 위해 추가 수 있습니다 .그러나 그런 다음 암호 필러가 있습니다. 대부분의 브라우저에는 자체 내장 구현이 있으며이 기능을 제공하는 타사 유틸리티도 많이 있습니다. 이것은 멈출

수 없습니다

. 이것은 나중에 자동으로 채워지도록이 정보를 저장하는 사용자 자신의 선택이며 응용 프로그램의 범위와 영향 범위를 완전히 벗어납니다.-------------------

# 352347 크롬 버그 리포트

크롬 더 이상면

autocomplete="off|false|anythingelse"

, 어느 형태에도 입력합니다.나를 위해 일한 유일한 해결책

은 더미 암호 필드

추가하는 것입니다 .

<input type="password" class="hidden" />
<input type="password" />

-------------------
여기에서 작동해야 함으로 설정

autocomplete

하면

off

검색 페이지에서 Google에서 사용하는 예제가 있습니다. 검사 요소에서 이것을 찾았습니다.

여기에 이미지 설명 입력

편집

:

off

작동하지 않는 경우

false

또는 시도하십시오

nofill

. 제 경우에는 크롬 버전 48.0에서 작동합니다.-------------------
여기 더러운 해킹이 있습니다- 여기에 요소가 있습니다 (disabled 속성 추가).

<input type="text" name="test" id="test" disabled="disabled" />

그런 다음 웹 페이지 하단에 JavaScript를 넣으십시오.

<script>
    setTimeout(function(){
            document.getElementById('test').removeAttribute("disabled");
                    },100);
                    </script>
                    

-------------------
다른 솔루션, 웹킷 기반. 이미 언급했듯이 Chrome은 비밀번호 필드를 찾을 때마다 이메일을 자동 완성합니다. AFAIK, 이것은 autocomplete = [whatever]와 관계가 없습니다.이를 방지하려면 입력 유형을 텍스트로 변경하고 원하는 형식으로 웹킷 보안 글꼴을 적용하십시오.

.secure-font{
-webkit-text-security:disc;}

<input type ="text" class="secure-font">

내가 볼 수 있듯이 이것은 적어도 입력 유형 = 암호만큼 안전하며 복사 및 붙여 넣기 보안입니다. 그러나 별표를 제거하는 스타일을 제거하면 취약합니다. 물론 입력 유형 = 비밀번호를 콘솔에서 입력 유형 = 텍스트로 쉽게 변경하여 자동으로 채워진 비밀번호를 표시 할 수 있으므로 실제로는 거의 동일합니다.-------------------
나는 같은 문제에 직면했다. 그리고 다음은 Chrome에서 사용자 이름 및 비밀번호 자동 채우기를 비활성화하는 솔루션입니다 (Chrome에서만 테스트 됨).

    <!-- Just add this hidden field before password as a charmed solution to prevent auto-fill of browser on remembered password -->
    <input type="tel" hidden />
        <input type="password" ng-minlength="8" ng-maxlength="30" ng-model="user.password" name="password" class="form-control" required placeholder="Input password">
        

-------------------
마침내

textarea

. 암호 필드의 경우 "•"로 입력 된 각 문자를 대체하는 이벤트 처리기가 있습니다.

출처
https://stackoverflow.com/questions/39930053

댓글
공지사항
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30