programing

Chrome 검색되지 않은 구문 오류:예기치 않은 토큰 불법

iphone6s 2023. 9. 4. 19:37
반응형

Chrome 검색되지 않은 구문 오류:예기치 않은 토큰 불법

Chrome이 페이지에 스크립트 파일을 로드하려고 할 때 제목 오류를 수신합니다.자바스크립트 파일의 마지막 줄에 있다고 나옵니다.저는 그것에 대해 잘못된 것을 찾을 수 없을 것 같습니다.파이어폭스에는 오류가 없으며 스크립트는 예상대로 작동합니다.양식 유효성 검사를 사용하는 중

// JavaScript Document
$(function() {
  $('#wm-form').submit(function() {
    var errors = false;
    var errorMsg = "";
    $('.required').each(function() {
      if(!validField($(this))) {
        errorMsg += $(this).attr('name').capitalize() + " cannot be blank\n";
        errors = true;
      }
    });
    var emailAddress = $('#email');
    if(isValid(emailAddress) && !(/^(([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})+([;.](([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})+)*$/.test(emailAddress.val()))) {
      errorMsg += "Not a valid email address. Please enter in a correctly formatted email address";
      errors = true;
    }
    if(errors) {
      alert(errorMsg);
      return false;
    }
  });

  $('.form-focus').click(function() {
    $(document).scrollTop(0);
    $('#first_name').focus();
    return false;
  });
});

function validField(element) {
  if(!isValid(element.val()) || (element.attr('placeholder') && element.attr('placeholder') == element.val()) || 
    (element.attr('type') == 'radio' && !checkedRadio(element))) {
    return false;
  }
  else {
    return true;
  }
}

function isValid(ele) {
  if(ele == null || ele == '') {
    return false;
  }
  else {
    return true;
  }
}

String.prototype.capitalize = function() {
    return this.charAt(0).toUpperCase() + this.slice(1);
};

function checkedRadio (element) {
  var valid = false;
  $('input[name="'+ element.attr("name") +'"]:checked').each(function() {
    valid = true;
  });

  return valid;
}​

그 출처의 끝에는 일종의 가짜 성격이 있습니다.마지막 줄을 삭제하고 다시 추가해 보십시오.

정확히 뭐가 있는지는 모르겠지만, 아직...

편집 - 너비가 0인 공간인 유니코드 200B인 것 같습니다.꽤 이상하게 보이고 스택 오버플로 아티팩트가 아닌지 확신할 수 없지만, 마지막 줄 전체를 포함한 마지막 기능을 크롬 콘솔에 복사/붙여넣으면 오류가 발생합니다.

그러한 캐릭터의 악명 높은 출처는 jsfiddle과 같은 웹사이트입니다.저는 그것들에 문제가 있다고 말하는 것이 아닙니다. 그것은 단지 콘텐츠 편집 가능한 입력 위젯의 사용과 같은 부작용일 뿐입니다.

만약 당신이 이 병의 케이스를 가지고 있고 당신이 MacOS 또는 Linux/Unix에 있다고 의심된다면,od명령줄 도구는 소스 코드 파일의 문자로 숫자 값을 표시할 수 있습니다(매우 보기 흉하게 표시됨).일부 IDE 및 편집기는 "재미있는" 문자도 표시할 수 있습니다.이러한 문자가 항상 문제가 되는 것은 아닙니다.예를 들어, 문자열 상수에 유니코드 문자가 포함되어 있는 것은 (어쨌든 대부분의 합리적인 프로그래밍 언어에서는) 완전히 괜찮습니다.언어 파서가 예상치 못한 문자를 만났을 때 문제가 발생하기 시작합니다.

jfiddle에서 복사한 코드를 붙여넣어도 Chrome에서 동일한 오류가 발생합니다.

jsfidle의 패널에서 모든 코드를 선택하여 자유 텍스트 편집기 Notepad++에 붙여넣으면 코드 맨 끝에 문제 문자가 물음표 "?"로 표시됩니다.이 물음표를 삭제한 다음 메모장++에서 코드를 복사하여 붙여넣으면 문제가 사라집니다.

줄줄이 되었을 때도 했습니다(" 중줄문에새열발오니다생습했류가다한동일때을었되함포이줄자(▁i다니발▁when습생했")."\n . 문자입니다.모든 줄을 하나로 병합하여(따라서 모든 줄 문자를 제거함) 해결에 사용되는 브라우저로 보냅니다.하지만 코딩하기가 매우 불편했습니다.

버전의 줄이 줄지원하지 이 왜 할 수 .없었습니다.\n 되어 있습니다. 등장인물들.여러 줄의 문자열을 큰따옴표로 묶어야 작동합니다.내 코드를 이것으로 변경하여 이 문제를 해결했습니다.

저는 이것을 증명하는 표준 또는 크롬 문서에 대한 참조를 찾으려고 노력할 것입니다.그 때까지 이 솔루션을 사용해 보고 사용자에게도 효과가 있는지 확인합니다.

저도 크롬에서 같은 오류가 있었습니다.크롬 콘솔에서 HTML 파일의 첫 번째 줄에 오류가 있다고 합니다.

사실은 .js 파일에 있었습니다.그러니까 조심해요.setValidNou(1060, $(this).val(), 0')오류 유형.

언급URL : https://stackoverflow.com/questions/5733275/chrome-uncaught-syntax-error-unexpected-token-illegal

반응형