내 WP 플러그인 중 하나에 대한 사용자 정의 프로필 페이지를 만들고 있는데, 사용자가 WP 대시 보드를 보는 대신 일반 페이지를 갖기를 원합니다. 암호 강도를위한 스크립트를 제외하고 지금까지 모두 잘 작동합니다. 내가 암호를 입력을 시작했을 때, 나는 내 방화범 콘솔이 얻을 :은 "m"이벤트가 시작 부분에 호출 될 때 발생합니다WP "TypeError : blacklist is undefined"password-strength-meter.js
TypeError: blacklist is undefined
blacklist = [ blacklist.toString() ];
:
meter : function(password1, blacklist, password2) {
if (! $.isArray(blacklist))
blacklist = [ blacklist.toString() ];
가 나는 그것이 무엇 아무 생각이 없다 WP 대시 보드에서 잘 작동합니다. 약 1 시간 동안 검색을하고 나면 해결 방법을 사용하기로 결정했습니다. 만약 누군가 내가 올바른 방향으로 나를 가리킬 수 있다면, 내가 여기에서 누락 된 것을 나는 고맙게 생각한다.
지금 내 해결 방법은 try/catch 블록에이를 배치하는 것입니다 : 이제 잘 작동
meter : function(password1, blacklist, password2) {
try {
if (! $.isArray(blacklist))
blacklist = [ blacklist.toString() ];
}
catch (e){}
, 나는 WP 프론트 엔드에서 사용할 경우에도. 하지만 JS 파일 password-strenght-meter.js를 내 플러그인에 복사하고 거기에서 대기열에 넣어야하므로 최적의 솔루션은 아닙니다. 이후 user-profile.js도 사용해야하므로이 파일도 복사해야하므로 좋은 해결책이 아닌 두 개의 JS 파일을 복제해야합니다.
모든 아이디어, 프런트 엔드 페이지에서 사용할 때 jQuery가 스크립트를 중지하는 이유는 무엇입니까? 관리자 백엔드에서 제대로 작동합니까?
==== EDIT ======== 방금 문제가 다른 플러그인 "WP User Frontend"와 관련이있는 것으로 밝혀졌습니다.이 플러그인은 자신의 코드로 암호 강도 미터 스크립트를 무시하는 것으로 보입니다. 그래서 나는 지금이 문제를 해결할 수있을 것이라고 생각합니다.
블랙리스트에 넣지 않으시겠습니까? – epascarello