>웹 프론트엔드 >JS 튜토리얼 >AngularJS 라우팅의 URL에서 해시를 어떻게 제거할 수 있나요?

AngularJS 라우팅의 URL에서 해시를 어떻게 제거할 수 있나요?

Barbara Streisand
Barbara Streisand원래의
2024-11-30 22:41:15380검색

How Can I Remove the Hash from URLs in AngularJS Routing?

AngularJS의 라우팅: 해시 방지

AngularJS에서 $routeProvider를 사용하면 애플리케이션에 대한 라우팅 규칙을 정의할 수 있습니다. 기본적으로 이러한 URL에는 app/#/test 형식의 해시(#)가 포함됩니다.

AngularJS가 해시를 사용하는 이유

해시는 해시를 사용하는 브라우저에 대한 대체 수단으로 사용됩니다. HTML5의 History API를 지원하지 않습니다. 이러한 브라우저에서 해시가 있는 URL로 이동하면 서버에 대한 HTTP 요청 대신 클라이언트 측 이벤트가 트리거됩니다. 이를 통해 AngularJS가 라우팅을 처리하고 서버가 불필요하게 공격당하는 것을 방지할 수 있습니다.

해시 비활성화

URL에서 해시 사용을 방지하려면 $locationProvider.html5Mode(true)를 사용할 수 있습니다. 구성. 이렇게 하면 AngularJS가 가능한 경우 HTML5 History API를 사용하도록 지시합니다.

예는 다음과 같습니다.

app.config(function($locationProvider) {
  $locationProvider.html5Mode(true);
});

브라우저 지원

HTML5 History API는 최신 브라우저에서만 지원됩니다. . 지원되는 브라우저 목록은 Can I Use 웹사이트에서 확인할 수 있습니다: http://caniuse.com/#feat=history

이전 브라우저를 지원해야 하는 경우 해시를 보관해야 합니다. URL을 제공하거나 History API에 대한 폴리필을 제공합니다.

위 내용은 AngularJS 라우팅의 URL에서 해시를 어떻게 제거할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.