如何解决“允许属性将优先于allowfullscreen”警告?

Posted

技术标签:

【中文标题】如何解决“允许属性将优先于allowfullscreen”警告?【英文标题】:How to resolve "Allow attribute will take precedence over allowfullscreen" warning? 【发布时间】:2019-12-31 02:14:59 【问题描述】:

Allow attribute will take precedence over 'allowfullscreen'.

我收到此警告消息是因为我添加了一个包含 allow="fullscreen" and allowfullscreen 的 iframe。

根据https://developer.mozilla.org/en-US/docs/Web/html/Element/iframe,allow 似乎无法在 IE、Edge 或 Firefox 中运行。

如何以跨浏览器兼容的方式解决/消除此警告消息?

这是在 Chrome 中重现警告消息的最小 sn-p:

const iframe = document.createElement('iframe');
iframe.setAttribute('allowFullScreen', '');
iframe.setAttribute('allow', 'fullscreen');

【问题讨论】:

【参考方案1】:

结果是交换这些 setAttribute 行的顺序可以使警告静音:

const iframe = document.createElement('iframe');
iframe.setAttribute('allow', 'fullscreen'); // must be 1st
iframe.setAttribute('allowFullScreen', '');

【讨论】:

【参考方案2】:

在 Vimeo 嵌入 iFrame 上,完全删除 allowFullScreen

来自

<div class="embed-responsive embed-responsive-16by9"><iframe src="https://player.vimeo.com/video/000000000" allow="autoplay; fullscreen" allowfullscreen></iframe></div>

<div class="embed-responsive embed-responsive-16by9"><iframe src="https://player.vimeo.com/video/000000000" allow="autoplay; fullscreen"></iframe></div>

【讨论】:

以上是关于如何解决“允许属性将优先于allowfullscreen”警告?的主要内容,如果未能解决你的问题,请参考以下文章

如何解决包冲突问题

如何解决包冲突问题

如何解决ajax跨域问题

MySQL 的 10048问题,如何解决?

如何解决smartgit的冲突问题

如何解决https传输图片的问题