将 jQuery 错误处理添加到列表、网格内的 JSF 页面上的所有图像
Add jQuery error handling to all images on JSF pages inside lists, grids
首先,一点背景。我试图完成的是我的 JSF 应用程序的图像的客户端错误处理程序,只要图像加载失败,它就会执行某些操作。有些东西有点复杂,所以我会选择一个简单的例子,它做类似的事情,因为它将 src 属性重写为不同的图像。此外,我的图像存储在 Amazon S3 上,因此图像请求不会通过我的 JSF 应用程序中的过滤器传递,我希望保持这种方式。
实际上,我想为应用程序范围内的所有图像执行此操作(带有一些修饰):
$('img').error(function() {
var newImage = 'somethingbasedofftheoriginalurl.jpg'; //pseudocode
$(this).attr('src','newImage');
}
我遇到的问题是它不适用于动态列表或网格,例如Primefaces DataGrid。它将为第一页上的图像添加错误处理程序,但在使用分页器时不会为后续页面添加错误处理程序。它显然只将处理程序附加到调用$('img')
时存在的元素。
切中要害:
有没有办法在我的 JSF 应用程序中为应用程序范围内的所有图像附加客户端通用错误处理程序?它不一定是 jQuery 特别的,但客户端拥有它是必需的,直到每个人都告诉我这是不可能的......此外,将此代码放在尽可能少的位置也很重要。我不能将它添加到整个应用程序中的每个爆炸的 xhtml 页面中。
PrimeFaces 使用 ajax 进行分页。所以你基本上需要做的就是在 PrimeFaces ajax 响应完成后重新执行该脚本,这可以通过自定义事件pfAjaxComplete
观察到。
所以,总而言之,这应该可以做到:
$(document).on("pfAjaxComplete", function(event, xhr, options) {
// Do the job here.
});
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- nodejs-expressjs上传图像并显示它们
- 如何通过ajax刷新JSF填充的javascript变量
- 使用JSP从服务器检索和显示图像
- 角度:在ng重复上切换图像
- 画廊图像未显示
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- Javascript排序的图像弹出窗口..可以't单独弹出
- 画布数据到图像
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 使图像在单击时展开到不大于浏览器
- Html页面上的多个Base64图像和平滑加载
- UIAutomation放大图像
- 使用javascript在Flash中加载外部图像
- 如何在JSF中将toDataURL方法返回的画布内容作为图像存储在磁盘上
- 防止 JSF 编码 &在图像网址中
- 将 jQuery 错误处理添加到列表、网格内的 JSF 页面上的所有图像
- 使用JavaScript和JSF的图像上传偶尔不起作用
- 更新JSF组件inputText的背景图像
- JSF选择带有图像的OneRadio项目,如何设置单选按钮CHECKED