developer tip

onclick 값에서 'javascript'대신 다른 단어를 사용할 때 브라우저에서 오류가 발생하지 않는 이유는 무엇입니까?

copycodes 2020. 8. 19. 19:48
반응형

onclick 값에서 'javascript'대신 다른 단어를 사용할 때 브라우저에서 오류가 발생하지 않는 이유는 무엇입니까?


나는 웹 사이트를 물려 받았는데,이 호기심을 발견했습니다.

<a href="/delete"  onClick="jamoscript:return confirm('Do you really want to do that?');">Delete all</a>

해당 페이지를 표시하고 링크를 클릭하면 " jamoscript"을 " javascript"로 변경할 때와 똑같은 확인 대화 상자가 나타납니다 . 페이지가로드되거나 링크를 클릭 할 때 Firebug 콘솔에 진단이 표시되지 않습니다. 뭐야? 자모 스크립트를 검색해도 흥미로운 것은 없습니다.

아무도이 행동을 설명 할 수 있습니까?


"onclick"속성의 문자열 값은 간단한 JavaScript 코드로 간주됩니다. 자바 스크립트에는 레이블이 지정된 명령문에 대한 조항이 포함되어 있으므로 코드는 return레이블이 "jamoscript"인 명령문입니다. 즉, 다음과 같습니다.

jamoscript: return confirm("Do you really want to hurt me?");

완벽하게 합법적 인 JavaScript입니다. 레이블은 많이 사용되지 않으므로 익숙하지 않습니다.

"javascript :"접두사가 중요한 유일한 컨텍스트는 <a>태그 의 "href"속성과 마찬가지로 URL이 예상되는 경우입니다 .

참고 URL : https://stackoverflow.com/questions/27606179/why-dont-browsers-throw-an-error-when-any-other-word-is-used-in-place-of-javas

반응형