2015-08-19 1 views
-1

Я работаю над своим первым приложением Angular.js, и он работает хорошо, но у меня постоянно возникают две проблемы с обновлением браузера. Я прикрепил ссылку на скринкаст, который показывает проблему. Две проблемы:Угловое приложение теряет дизайн и javascript при обновлении браузера (Chrome)

  1. Когда я нажимаю кнопку обновления или ctrl-f5, страница теряет все стили CSS.
  2. Когда я нажимаю ссылку «Календарь», чтобы вернуться на домашнюю страницу, такие вещи, как имя пользователя, показывают, когда они этого не делают. Посмотрите на скринкаст здесь: Problem on screencast

Вот моя маршрутизация:

'use strict'; 

var JBenchApp = angular.module('JBenchApp', [ 
    'ngRoute' 
]); 

JBenchApp.config(['$routeProvider', '$locationProvider', 
    function ($routeProvider, $locationProvider) { 
     $routeProvider. 
     when('/dashboard', { 
      templateUrl: 'partials/dashboard.html', 
      controller: 'JBenchCtrl' 
     }). 
     when('/calendar', { 
      templateUrl: 'partials/calendar.html', 
      controller: 'JBenchCtrl' 
     }). 
     when('/', { 
      templateUrl: 'partials/calendar.html', 
      controller: 'JBenchCtrl' 
     }). 
     when('/documents/:number', { 
      templateUrl: 'partials/documents.html', 
      controller: 'CaseDetailCtrl' 
     }). 
     when('/parties/:number', { 
       templateUrl: 'partials/parties.html', 
       controller: 'CaseDetailCtrl' 
     }). 
     otherwise({ 
      redirectTo: '/calendar' 
     }); 

     $locationProvider.html5Mode(true); 

    }]); 

EDIT ДОБАВИТЬ web.config ФАЙЛА ЧАСТЬ:

<rewrite> 
    <rules> 
     <rule name="Main Rule" stopProcessing="true"> 
     <match url=".*" /> 
     <conditions logicalGrouping="MatchAll"> 
      <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
      <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
     </conditions> 
     <action type="Rewrite" url="/index.html" /> 
     </rule> 
    </rules> 
      <rewriteMaps> 
       <rewriteMap name="/JWB/" /> 
      </rewriteMaps> 
    </rewrite> 

Любая идея, как сделать этот вопрос уходи?

+0

Получаете ли вы ошибки в протокольном журнале? – Jose

+0

да, похоже, что он не может видеть файлы javascript для углового и для jquery –

+0

звучит так, как будто вам нужен базовый тег или абсолютные URL-адреса для ваших активов. Относительные URL-адреса относятся к пути страницы во время загрузки страницы. Когда вы перейдете к example.com/, затем перейдите к example.com/admin, затем обновите его, как будто вы перешли непосредственно на example.com/admin, чтобы все относительные URL теперь указывали на/admin вместо /, если у вас нет базовый тег. –

ответ

1

Это происходит потому, что в браузер, вы теперь запрашиваете страницу в /некоторый/пути/, и если у вас есть какие-либо относительные ссылки в ваших дорожках активов, браузер будет искать их на /некоторые/путь/js/foo.js вместо /js/foo.js.

Существует несколько способов исправить это, но самым простым может быть просто использование абсолютных путей.

src="/js/foo.js" 

Иногда, однако, это не сработает из-за размещения приложения в подпапке домена. В этом случае базовый тег может быть более подходящим.

<base href="/subfolder/"> 
+0

Теперь у меня есть базовый тег, но с запуском root тег установлен на «/», но файлы JS по-прежнему загружаются некорректно. Как было сказано, я исправил это, добавив «../» перед всеми файлами JS и CSS. –

+0

'application/parties/989-99a' не должно работать с' ../ ', он ищет файлы в' application/parties/js/foo.js' –

+0

Он отлично работает. Как вы увидите в скринкасте ниже, я еще не держу его за свой статус, но смотрю, что происходит. http://screencast.com/t/d5GoPHrs –

Смежные вопросы