带有JSF/Primefaces的AngularJS在Firefox中失败
我用JSF/primefaces构建了一个AngularJS应用程序。如果使用Chrome或IE,这个页面可以正常工作,但如果在Firefox中使用,它不会执行AngularJS扩展。因此,当我查看JS控制台时,在我的JS脚本(reservation_list.JS)的第一行出现以下错误: 我认为Firefox特有的元素顺序或位置存在问题。我试着重新排列元素的顺序和位置,但没有效果。有人知道如何解决这个问题吗 我的XHTML文件如下(经过修改以保护实际内容的专有性质):带有JSF/Primefaces的AngularJS在Firefox中失败,angularjs,firefox,primefaces,Angularjs,Firefox,Primefaces,我用JSF/primefaces构建了一个AngularJS应用程序。如果使用Chrome或IE,这个页面可以正常工作,但如果在Firefox中使用,它不会执行AngularJS扩展。因此,当我查看JS控制台时,在我的JS脚本(reservation_list.JS)的第一行出现以下错误: 我认为Firefox特有的元素顺序或位置存在问题。我试着重新排列元素的顺序和位置,但没有效果。有人知道如何解决这个问题吗 我的XHTML文件如下(经过修改以保护实际内容的专有性质): #{消息._保留_列表
#{消息._保留_列表}
-
{{reservation.reservationId}
谢谢你我已经找到了这个问题的解决方案,这个解释可能是针对我的网络环境(通过代理访问internet)的 在我们的环境中,当我们第一次访问HTTPS站点时,Firefox会向我们显示以下对话框,警告我们存在不受信任的连接-可能无法通过我们的代理访问证书(不确定): 此连接不受信任 您已请求Firefox连接 安全地访问ajax.googleapis.com 通常,当您尝试连接时 安全地说,网站将提供可信的身份证明,以证明您 你去对地方了。但是,此站点的标识不能为空 核实 我该怎么办 如果您通常连接到此站点时没有出现问题,则可能会出现此错误 这意味着有人试图模拟网站,而你不应该 继续 显然,Firefox正在阻止该页面下载AngularJS
当我直接在地址栏中键入AngularJS URL时,我得到了相同的Firefox对话框。一旦我添加了异常,我的页面在Firefox中就可以正常工作。当然,对于具有相同网络配置的其他用户来说,这不是一个可接受的解决方案,因为他们永远不会明白这一点。因此,我的最终解决方案是下载AngularJS并将其作为javascript资源包含在我的JSF.war文件中。将Angular.js下载到您的资源文件夹中,并通过带有
target=“header”
的outputScript将其包含在内。谢谢您-这就解决了问题!不幸的是,直到我弄明白之后,我才看到你的反应。我把更完整的描述放在下面。
ReferenceError: angular is not defined
var disJockeySpyModule = angular.module('ReservationList', []);
<!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>