두 개의 개별 html 페이지로 구성된 angularjs (v 1.2.19) 애플리케이션이 있습니다 (또는 실제로 하나의 폴더에 두 개의 개별 각도 응용 프로그램이 있습니다) :angularjs의 IE8 및 IE9에서 #hashbang 리디렉션을 사용 중지하는 방법
- index.html을 내가 IE 8과 9에 대한 몇 가지 잘 알려진 호환성 문제를 (모두 HTML5 역사 API를 지원하지 않는) 데
$locationProvider.html5Mode(true).hashPrefix('!');
내가 응용 프로그램의 모든 경로가없는 - index.html을하고 edit.html 별도의 AngularJS와 애플리케이션으로 볼 수있다 - 별도의 AngularJS와 초기화가 등
문제가 보인다 like : 링크를 열 때마다 : http://server/app
또는 http://server/app/index.html
모두 정상적으로 작동합니다.
내가 링크를 열 때마다
:http://server/app/edit.html
에서 NG 클릭하거나 직접 브라우저에서 페이지가 자동으로 http://server/#!app/edit.html
나는 "hashbang"리디렉션을 사용하지 않도록 설정할 수 있습니다 어떻게 로 리디렉션됩니다? Edit.html은 index.html의 일부가 아니므로 index.html 리디렉션 및 "해시"라우팅없이 직접로드해야합니다.
나는 아래에있는 코드를 시도하지만<!--[if lt IE 10]>
<script>
window.location = window.location.href.replace(/#.*/, "");
</script>
<![endif]-->
감사 어떤 도움 ... 리디렉션의 무한 루프에 연결됩니다.
아마도 서버 측에서 조정해야합니다 (html5 모드로 다시 작성). ui-router 프로젝트의 FAQ 항목은 https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions#how-to-configure-your-server-to-를 참조하십시오. work-with-html5mode 희망이 도움이됩니다. –
힌트를 보내 주셔서 감사합니다. 그러나 나는 무엇을 다시 작성해야합니까? 결국이 문제는 사실에 달려있다. 즉, index.html에 속하지 않는 각도의 앱이 있다는 것이다. IE8/IE9 브라우저에서 해당 링크를 열려고 시도 할 때마다 링크가 각도로 다시 쓰여지고 #가 추가됩니다. Apache2 등을 사용하여 다시 작성해야하는 링크는 무엇이되어야합니까? –
가능한 [10 $ digest() 반복의 중복. 중단합니다! $ locationProvider.html5Mode (true);를 사용하는 경우] (http://stackoverflow.com/questions/17146461/10-digest-iterations-reached-aborting-when-using-locationprovider-html5mod) –