我有一个ajax调用,它调用一个php脚本来下载一些缩略图,以及有关缩略图的一些信息,例如完整图像的大小。该数据被放入 HTML 表中。 $bigwidth 和 $bigheight 是图像的完整尺寸,并使用 HTML5 数据集属性编码到缩略图 img
标记中:
echo ("<td class='galleryThumbContainer'>
<div class='imgWrapper'>
<img class='galleryThumb' src=$file_url data-bigwidth='$bigwidth' data-bigheight='$bigheight' help_token='gallery thumb' title='Double-click to crop. Delete at upper right corner.'>
</div>
</td>");
在客户端,当我将缩略图放入 jQuery UI 可放置容器中时,我的脚本会使用下面的第 1 行和第 2 行或第 5 行和第 6 行来拉出并使用 bigwidth 值。
1. var thumb$ = ui.draggable; // wrapped set of thumb being dropped
2. var bigwidth = thumb$.data('bigwidth'); // works
3.
4. /* Test Code */
5. var thumb = ui.draggable[0]; // the raw thumb node
6. var bigwidth2 = thumb.dataset.bigwidth; // breaks: thumb.dataset is undefined
7. /* end test code */
这两种方法都适用于 Chrome 和 Firefox,但只有第一种方法适用于 IE(9)。在 IE9 中,第二种方法将 thumb.dataset
视为未定义。
有谁知道这是怎么回事吗?
谢谢。
最佳答案
IE9不支持dataset属性,只有最新版本(IE11)支持。如 Mozilla Developer Network 上所述.
获取适用于所有主要浏览器的属性值的另一种方法是:
thumb.getAttribute('data-bigwidth')
关于php - HTML5 数据集与 IE 不能很好地配合(9),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23946712/