0

사용자가 특정 사이트에 계정을 만들면 이름, 이메일, 위치와 같은 사용자의 기본 정보가 필요할 수 있습니다. 사용자가 이전에 정보를 입력했다면이 양식을 자동 채우기 할 수 있습니다.크롬 확장을 통해 자동 완성이 감지되는 경우

내 질문은 : 사용자가 방문중인 페이지가 자동 채워지는지 여부를 감지하거나 식별 할 수 있습니까?

순진한 해결책은 자동 완성 될 수있는 양식의 모든 페이지를 구문 분석하는 것입니다. 그러나 더 우아한 해결책이 있습니까?

답변

1

정확히 무엇을 원하십니까? 모든 양식은 분명히 자동 완성 될 수 있으므로 텍스트의 질문에 대한 대답은 예입니다.

제목에있는 질문은 완전히 다른 것입니다. 자동 완성 된 양식입니까?

아주 좋은 접근법이 있습니다. 양식에 값 (전송 한 것과 다른 값)이있는 경우로드를 확인하면 사용자가 직접 수동으로 입력 할 수 없습니다. 그러면 자동 채우기가 수행되었음을 알 수 있습니다.

한편으로는 자신의 사이트가 아닌 브라우저 확장 프로그램을 사용하여 일반적인 솔루션을 찾고있는 것처럼 들립니다. 이 경우 솔루션은 동일하지만 페이지로드시 즉시 페이지에서 제공하는 값을보고 실제로 존재하는 값이 다른지 확인하십시오. 확실하지는 않지만 onload 이벤트는 괜찮습니다. 페이지가로드되기 전에 자동 완성이 수행되지 않습니다. 어쩌면 onload 이벤트 위에 수백 밀리 초를 추가해야 할 수도 있습니다. 사용자는 1 초도 안되어 많은 정보를 입력하거나 체크 박스 등을 선택할 수 없으므로 여전히 좋은 추측입니다.

어쨌든 헤드 라인과 질문을 다시 읽은 후에도 실제로 원하는 것을 정확히 혼동합니다.하지만 더글라스 애덤스가 우리를 가르치려고하는 첫 번째 사람이 아니기 때문에 종종 그렇지 않습니다. 대답하지만 문제 : 잘

+0

죄송합니다. 제목이 매우 나쁩니다. 필자는 자동 완성이 올바른 용어인지는 모르겠다. 기본 정보가 필요한 계정을 만들 때 입력 상자 중 하나를 클릭하여 전체 양식을 작성할 수 있습니다. 보통 양식은 자동 채우기가 아니므로 내가 언급 한 방법을 사용할 수없는 이유입니다. 나는 양식을 미리 채울 수 있는지 감지해야하는 확장 기능을 작성 중입니다. –

+0

나는 아직도 그것을 얻지 못한다. "form can autofilled"에 대한 당신의 특별한 요구는 무엇인가? 내 말은, * 어떤 * 양식이 결국 자동으로 채워지 는가? 질문은 당신이 찾고있는 대답 일 수도 있지만 이미 지적했습니다 :) –

+0

문제를 다시 생각해보십시오. 아마도 브라우저가 (로그인) 텍스트 필드에 대해 하나 이상의 값을 가질 때 비워 둡니다. , 화살표를 누르면 아래쪽에 팝업이 표시되고 값 중 하나를 선택할 수 있습니다. 이 작업을 완료하면 브라우저는 방금 선택한 로그인 문자열과 일치하는 pw로 암호 필드를 채 웁니다. 브라우저가 실제로 필드 값을 갖고 있지만 사용자가 해당 팝업 메뉴를 열 때까지 기다리는 지 확인하려면 대답은 다음과 같습니다. 페이지의 자바 스크립트 코드 내에서이를 감지 할 수있는 방법이 없습니다. –

1

이다 질문 자체가 기본 값 value="VALUE"을 확인할 수는 을 변경 예 :

if (getElementById('inputID').value != 'VALUE') { // DO SOMETHING }

또는 값이 변경된 경우 414,검사 :이 두 가지의

input type="text" onchange="alert('changed')">

하나가 당신을 도움이 될 것입니다 (내가 희망 :))

0

당신은

document.querySelectorAll('*:-webkit-autofill'); 

가 자동 완성 모든 요소를 ​​얻기 위해 사용할 수 있습니다.

그런 다음 새로운 요소가 루프에 있는지 확인해야합니다.

관련 문제