- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用无处不在的jquery validate plugin用于表单验证。它支持使用metadata plugin用于向表单元素添加验证规则。
我正在使用此功能。当验证查找这些规则时,它会对元素进行此调用:
$(element).metadata()[meta]
TRONG meta
是存储这些规则的前缀。例如
meta 的值将设置为“validate”以获取这些属性。但这里有一个大问题!
以下是元数据插件将数据属性解析为 json 的操作:
var getObject = function(data) {
if(typeof data != "string") return data;
data = eval("(" + data + ")"); //oh no!!!!!
return data;
}
if ( settings.type == "html5" ) {
var object = {};
$( elem.attributes ).each(function() {
var name = this.nodeName;
if(name.match(/^data-/)) name = name.replace(/^data-/, '');
else return true;
object[name] = getObject(this.nodeValue);
});
}
所以最终发生的是元数据解析所有 data-*
属性并尝试评估内容!一旦包含不包含 json 的数据属性,就会破坏内容。
现在问题:
看起来元数据和验证都是“经过验证的”插件。这是使用人们所使用的元数据插件的已知副作用吗?
我通常不喜欢修改插件代码来满足我的项目需求,但这似乎我应该:
.data()
而不是元数据插件此外,除了修改元数据插件之外,还有其他方法吗
赏金后编辑:我应该把这一点说得更清楚,我有兴趣对这可能是如何发生的进行一些讨论。如此严重的错误如何可能同时存在于规范验证插件和我见过的由 resig 编写的随处使用的插件中。
修复很简单,我已经应用了它(我选择修改验证插件以在定义“元”时使用 $.data) - 我在这里给出 150 分是关于为什么这仍然是一个问题的想法(或者也许不是!)
1 Câu trả lời
正如您所发现的,“错误”(使用 eval)在于元数据插件,而不是验证插件。
您链接到的元数据插件的版本实际上是一个 fork ; jQuery 团队有 official repo 。如果你看commit history ,你会发现自 2007 年以来就没有任何真正的代码更新。该插件一直是 officially deprecated自 2011 年 4 月起。
(John Resig 在 2008 年 7 月发表了关于 HTML5 data- attributes 的博客,并且在 1.4.3 中提供了对 jQuery 核心的支持,该支持在 October 2010 中发布。)
所以我想你的“这可能是如何发生的”问题的答案是,你不应该再使用该插件了:-)
(làm mới: "official" repo 现在位于“jQuery 基金会孤立项目”下。)
至于验证插件,除了一些 demosVà meta
选项,我在文档中找不到元数据插件的任何提及。正在进行添加 support for data- attributes 的工作和 deprecate the metadata plugin ,所以希望当下一个版本准备好时,元数据插件最终可以被放弃。
关于jquery - jquery 元数据插件和 jquery 验证插件的主要烦恼,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11231524/
最终目标:我想要由 Git 跟踪的文件,但让这些文件对于所有分支都是相同的版本。如果您使用 gitignore 文件,则所有分支的文件都是相同的,但不幸的是不会被跟踪。当我跑 git push或类似的
我想从 PDF 文件中删除元数据。我已经尝试使用“exiftool”、“pdftk”和“qpdf”来删除元数据(建议的方法 - https://gist.github.com/hubgit/60783
AWS EC2 元数据从 EC2 提供了有关其自身的必要信息(废话!) - 是否有任何与 lambda 等效的信息。 我了解与 EC2 不同的 lambda 函数的 Multi-Tenancy 和短期
我正在使用 libavformat(即 C 库)将 MPEG4/H264 编码为 mp4 文件,我想在 MP4 文件中添加一些元数据,例如日期/时间。有人可以告诉我如何做到这一点吗? 谢谢。 最佳答案
有谁知道任何允许从 .jpg 图像中提取 java 元数据的类?或者可能是一些有用的代码? 谢谢! 最佳答案 我维护着一个库,正是这样做的。 https://github.com/drewnoakes
我尝试找出如何从媒体获取元数据有一段时间了,但到目前为止没有任何效果。我有类 Song,其中有 SimpleStringProperties,如标题、艺术家等。我尝试在类构造函数中为它们设置值: pr
我已经多次遇到这个问题,并且从不喜欢所选择的解决方案。假设您在数据库中有一个状态列表(作为一个简单的示例)。在您的代码隐藏中,您希望能够通过 ID 引用状态并通过 Intellisense 获得状态列
我在我的应用程序中使用 google 登录并从 google 获取用户个人资料信息。 我已经测试过,它在我这边工作正常,但苹果拒绝了它。我没有发现任何错误。 苹果拒绝原因:“Verify is you
我正在开发一个基于 MySQL 数据库的 Web 应用程序。我需要收集和分析使用情况和性能统计数据。统计数据将针对非技术人员。 如何实现此功能?您应该将我的问题视为编程问题,但如果您知道合适的工具或扩
我对如何保存表格行的元数据有疑问。 例如,我有一个表,其中包含有关图像 items_images 的数据。编号,整数(20)标题,VARCHAR(255)添加日期,DATETIME... 现在我想添加
我不明白为什么我必须在 list 中使用两个元数据元素才能开始运行我的 Google Maps API v2 项目。这些标签的用途是什么? 最佳答案 元数据是指有关数据的数据。 关于java -
如何获取 SharePoint 文档库中项目的内容类型列或元数据? 此链接提供了我不需要的文件属性 http://msdn.microsoft.com/en-us/library/microsoft.
我很确定这是可能的,只是不确定它的术语是什么以及如何去做。基本上,如果您右键单击任何文件并转到属性,然后转到摘要,您可以向文件添加评论等。 我想知道的是,您将如何从 C# 中有问题地执行此操作。此外,
在我的应用程序中,我正在从 Assets 库中检索 UIImage,该图像具有元数据。然后,该应用程序会调整图像大小并旋转图像,从而创建新图像。新图像没有预期的原始元数据,但如何在上传前将元数据添加回
Sau khi Java có được kết nối thông qua JDBC, nó sẽ có được đối tượng Connection, từ đó có thể lấy được nhiều thông tin khác nhau về hệ thống quản lý cơ sở dữ liệu, bao gồm từng bảng trong cơ sở dữ liệu, từng cột trong bảng, kiểu dữ liệu, trình kích hoạt, thủ tục được lưu trữ và các khía cạnh thông tin khác.
想知道是否有人知道扩展或配置 Breeze 以便服务器返回实体元数据中的附加信息的任何方法?我想使用这些附加数据来协助验证。 假设我有一个应用了一些数据注释的实体模型: public class Pe
我正在寻找将 MEF 用于我正在构建的应用程序的插件系统。我希望每个组件在(GUID)上都有一个我希望能够查找的标识符。但是,此 ID 在处理导出部件时也很有用。 有没有一种方法可以让我在导出的部分上
我对不完整的视频有疑问。例如上传失败的视频。如果您使用 ffmpeg -i 检查其元数据您将获得 1 小时的持续时间,但实际上只有 10mb 已上传到服务器,实际持续时间约为 7 分钟。查找这些视频
我在使用 FFmpeg 覆盖视频文件上的元数据时遇到了一些问题,这些文件之前已经添加了元数据(FFmpeg 也添加了以前的元数据)。 所以我使用ffmpeg -i path/to/video file
我有两个项目组想要加入: A B 使用常规连接会给我一个包含 4 个项目的集合: ServerA with Metadata A; ServerB with Metad
Tôi là một lập trình viên xuất sắc, rất giỏi!