如何在代码中解决此问题?
这很奇怪,因为我无法在代码中找到它,但是Firefox抱怨“ MouseEvent.mozPressure已过时。请改用PointerEvent.pressure。”在控制台中。
是否可以解决此问题?我不知道该怎么做才能解决此问题。
此错误消息出现在jsfiddle,gitHub页面和codepen中。
https://jsfiddle.net/p5f3xc0b/3/
const videoPlayer = (function makeVideoPlayer() {
"use strict";
const players = [];
function onPlayerReady(event) {
const player = event.target;
player.setVolume(100); // percent
}
let hasShuffled = false;
function onPlayerStateChange(event) {
const player = event.target;
if (!hasShuffled) {
player.setShuffle(true);
player.playVideoAt(0);
hasShuffled = true;
}
if (event.data === YT.PlayerState.PLAYING) {
for (let i = 0; i < players.length; i++) {
if (players[i] !== event.target) players[i].pauseVideo();
}
}
const playerVars = player.b.b.playerVars;
if (playerVars.loop && event.data === YT.PlayerState.ENDED) {
player.seekTo(playerVars.start);
}
}
function addVideo(video, settings) {
players.push(new YT.Player(video, Object.assign({
videoId: video.dataset.id,
host: "https://www.youtube-nocookie.com",
events: {
"onReady": onPlayerReady,
"onStateChange": onPlayerStateChange
}
}, settings)));
}
function init(video, settings) {
load.js("https://www.youtube.com/player_api").then(function () {
YT.ready(function () {
addVideo(video, settings);
});
});
}
return {
init
};
}());
function loadPlayer(opts) {
"use strict";
function show(el) {
el.classList.remove("hide");
}
function initPlayer(wrapper) {
const video = wrapper.querySelector(".video");
opts.width = opts.width || 198;
opts.height = opts.height || 198;
opts.autoplay = 1;
opts.controls = 1;
opts.rel = 0;
opts.iv_load_policy = 3;
opts.fs = 0;
opts.disablekb = 1;
function paramInOpts(settings, param) {
if (opts[param] !== undefined) {
settings[param] = opts[param];
}
return settings;
}
const settingsParams = ["width", "height", "videoid", "host"];
const settings = settingsParams.reduce(paramInOpts, {});
const playerVarsParams = ["autoplay", "cc_load_policy",
"controls", "disablekb", "end", "fs", "iv_load_policy",
"list", "listType", "loop", "playlist", "rel", "start"
];
settings.playerVars = playerVarsParams.reduce(paramInOpts, {});
videoPlayer.init(video, settings);
}
function coverClickHandler(evt) {
const wrapper = evt.currentTarget.nextElementSibling;
show(wrapper);
initPlayer(wrapper);
evt.currentTarget.classList.add("hide");
}
const cover = document.querySelector(opts.target);
cover.addEventListener("click", coverClickHandler);
}
const playlist = "0dgNc5S8cLI,mnfmQe8Mv1g,-Xgi_way56U,CHahce95B1g";
loadPlayer({
target: ".jacket-left",
width: 277,
height: 207
});
loadPlayer({
target: ".jacket-middle",
width: 277,
height: 207
});
loadPlayer({
target: ".jacket-right",
width: 277,
height: 207
});
loadPlayer({
target: ".jacketc",
width: 600,
height: 338,
loop: true,
playlist
});
loadPlayer({
target: ".alpha",
start: 0,
end: 280,
loop: true
});
loadPlayer({
target: ".beta",
start: 0,
end: 240,
loop: true
});
loadPlayer({
target: ".gamma",
start: 0,
end: 265,
loop: true
});
loadPlayer({
target: ".delta",
start: 4,
end: 254,
loop: true
});
loadPlayer({
target: ".epsilon",
start: 0,
end: 242,
loop: true
});
loadPlayer({
target: ".zeta",
start: 0,
end: 285,
loop: true
});
loadPlayer({
target: ".eta",
start: 23,
end: 312,
loop: true
});
loadPlayer({
target: ".theta",
start: 2
});
loadPlayer({
target: ".iota"
});
答案 0 :(得分:2)
这是警告,不是错误。看来您的代码仍然可以正常工作。但是要摆脱警告,您可以使用try-catch块。我无法确定您的警告来自何处,因为我没有收到该错误。如果您指定该行,我可以为您添加try-catch。
答案 1 :(得分:2)
该错误可能是由其他原因引起的。这只是一个警告,因为它与您的代码无关,所以我不必担心。如果您访问大多数网站,即使在控制台上也有错误消息,这些错误消息不会以任何方式影响您的工作。如果您正在做的一切都正常,那么我就不用担心。祝你好运,这看起来很酷!
答案 2 :(得分:1)
Marci回答on another forum时,此警告来自嵌入的YouTube。实际上,只要您在Firefox中访问youtube.com,就会触发该事件。相关代码位于desktop_polymer_inlined_html_polymer_flags_v2.js的第1355行。