我已經整合了一個由JSF/primefaces提供的AngularJS應用程序。如果使用Chrome或IE瀏覽器,該頁面可以正常工作,但如果在Firefox中顯示,則不會執行AngularJS擴展。所以,當我看着JS控制檯,我得到我的JS腳本的第一行下面的錯誤(reservation_list.js):帶有JSF/Primefaces的AngularJS在Firefox中失敗
ReferenceError: angular is not defined
所有這些行包含的是:
var disJockeySpyModule = angular.module('ReservationList', []);
我覺得這是Firefox特有的元素排序或位置問題。我嘗試重新排列元素的順序和位置無濟於事。有沒有人有任何想法如何解決這個問題?
我的XHTML文件如下(修改,以保護實際的內容的專有性):
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:head />
<h:body>
<ui:composition template="template.xhtml">
<ui:define name="content">
<h:form id="myForm">
<div ng-app="ReservationList">
<h:outputScript library="primefaces" name="jquery/jquery.js" />
<script
src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-rc.2/angular.min.js"></script>
<h:outputScript library="js" name="reservation_list.js" />
<div ng-controller="myController">
<table>
<tbody>
<tr>
<td>
<div
class="ui-panel ui-widget ui-widget-content ui-corner-all">
<div
class="ui-panel-titlebar ui-widget-header ui-helper-clearfix ui-corner-all">
<span class="ui-panel-title">#{messages._reservation_list}</span>
</div>
<ul class="reservation-list">
<li class="reservation"
ng-repeat="(key, reservation) in reservations"
ng-click="setCurrentReservation(reservation)"
title="#{messages.reservation_id} {{reservation.id}}">
<table>
<tbody>
<tr>
<td><label class="ui-outputlabel ui-widget">{{reservation.reservationId}}</label></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</h:form>
</ui:define>
</ui:composition>
</h:body>
</html>
謝謝
將angualr.js下載到您的資源文件夾中,並通過帶有'target =「header」的outputScript包含它。 – 2014-12-02 08:02:56
謝謝 - 解決了它!不幸的是,在我已經想出來之前,我沒有看到你的迴應。我在下面進行了更全面的描述。 – Yoshiya 2014-12-02 16:10:35