问题标签 [picturefill]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2139 浏览

image - 使用lazysizes 进行图片填充和延迟加载

我正在尝试使用lazysizes 和picturefill 进行延迟加载。

如果我只使用基本图像,则延迟加载本身就可以工作:

如果我检查 chrome 中的网络选项卡,我可以看到图像是在红线之后加载的,所以一切都很好:

在此处输入图像描述

现在我<picture>用我的响应式图像添加了一个元素,并尝试加载它也很懒:

不幸的是,这张图片不是延迟加载的,而是直接加载的: 在此处输入图像描述

我也尝试在图片元素图像中只使用一个 src,但这并没有什么不同。

根据lazysizes doc,应该可以一起工作,所以我想我只是错过了一个小细节?

更新: Lazysizes 和 Picturefill 都加载在<head>.

0 投票
1 回答
1701 浏览

firefox - 图片元素在 angular2 和 firefox 中不起作用

我有一个“标志”组件,它基本上写出一个图片元素。模板如下所示:

在 angular2 这会产生

在 Chrome 中这很好用,但在 Firefox 中只加载移动图像。标签可以在 Angular 之外正常加载。当我使用网络检查器并删除角度属性时,一切正常,所以我认为这是一个浏览器错误,但我想我会在这里发布,看看其他人是否有问题,或者是否有人有解决方法。

0 投票
1 回答
91 浏览

javascript - 如何使用 Rails 资产管道预编译图片填充

我正在使用polyfill 图片填充来添加对img属性srcsetsizesIE 等浏览器的支持。在 Rails 的资产管道中预编译 javascript 时,此 polyfill 不起作用。<body>当我将它从管道中排除并在我的标签末尾包含它(图片填充)时,它确实有效。

我的猜测是在页面完全加载之前执行图片填充(带有所有“img”标签)。这个对吗?如果是这样,为什么作者不添加类似 document.ready() 事件?有没有办法比在我的正文末尾包含整个脚本更优雅地解决这个问题?像这样添加脚本似乎对性能造成了巨大的影响。

0 投票
4 回答
11118 浏览

html - Chrome 52 似乎不支持 HTML5 图片元素?srcset 不工作

我刚刚开始了一个新网页,所以没有太多的标记。

我设置了这个:

无论窗口的宽度如何,它都默认为 medme.jpg 图片。我设置了这个:

注释掉 img 后备标签,它不显示任何内容。

我正在运行应该支持图片元素的 Chrome 52。但它似乎表现得好像它不支持它或什么的。我在这里做错了什么?

0 投票
1 回答
643 浏览

html - 图片元素 - 在哪里应用响应式 img 类

假设我有以下图片元素:

我看到,当存在中间屏幕宽度时,图像没有响应(例如,它们溢出其父元素),这是很自然的。

立即要做的是应用以下类:

所以我问这样的课程到底应该应用在哪里?在一个<source>?上<img>?上<picture>?到处?

0 投票
0 回答
667 浏览

javascript - Picturefull/Lazysizes:无法在 IE 中获取属性推送

我使用 picturefill 作为响应式图像解决方法,并使用lazysizes 来延迟加载图像,并且效果很好。现在Internet Explorer(11)的控制台出现了一些错误:

消息的打印屏幕: 在此处输入图像描述

候选人似乎是空的或未定义的,但我不能完全确定它,因为它适用于其他任何地方,并且在图像或 IE 中的 HTML 中也没有可见的错误。只有在使用lazysizes 时才会出现错误,而仅使用picturefill 似乎并非如此。

这是我如何将图片元素与lazysizes一起使用的示例:

图片填充脚本使用 requireJS 加载到页脚中,如下所示:

lazysizes 脚本也加载在页脚中,与使用 requireJS 的图片填充方式相同。它在图片填充之前加载。

关于这里有什么问题的任何想法?我错过了什么?

更新:看起来错误发生在这里(picturefill.js):

然后将第二个变量用作引发未定义错误的候选者:

0 投票
1 回答
34 浏览

html - 使用时仅显示默认图像

我正在尝试使用<picture>and<source>元素为我的网站提供一些响应式图像。

我的问题是只显示默认图像。我尝试使用不同的窗口大小重新加载页面,并且还加载了 PictureFill。

我究竟做错了什么?

注意:我在遇到此问题时一直在使用 Chrome

0 投票
1 回答
60 浏览

html - 根据窗口大小更改 img

我希望我的 VS2015 站点显示我在桌面上创建的更水平的图像,而在移动设备上显示更垂直的图像。我有两个单独的裁剪图像,以避免尺寸失真。我曾尝试使用带有媒体查询的 css 来隐藏或显示,但它总是显示两个图像(用于在页面上调整大小的其他媒体查询工作正常)。我试过图片标签:

并下载图片填充并将其添加到标题

仍然没有成功。对于新手的问题,我很抱歉,但我希望得到一些帮助,这似乎是一个简单的想法。

格雷格

0 投票
1 回答
1121 浏览

javascript - 用 Vue.js 在 IE11 中填充图片

在 IE11 中,Picturefill库不适用于 Vue.js。我收到以下警告:

[Vue warn]: Unknown custom element: <picture> - did you register the component correctly? For recursive components, make sure to provide the "name" option.

我可以通过使用删除警告,Vue.config.ignoredElements = ['picture']但这似乎并不能解决问题。我认为在引擎盖下 Vue.js 正在使用图片标签做事,因为它没有被 IE11 识别,因此 Vue.js 认为它​​是一个自定义标签?

请让我知道如何解决这个问题!谢谢

0 投票
1 回答
40 浏览

image - 如果我有像素位置,如何删除对象并填充背景

如果我有 abject 的像素位置为 [x, y] = find(Bw2 == 0); 然后我如何删除它然后填充原始背景

这是我的代码