我有一个使用嵌入式视频的网站(通过youtube的share -> embed),当我在Chrome中打开DevTools时,我看到一个错误:
无法识别的功能:'web-share'。
(匿名)@ react-dom.production..js?版本=16.14.0:184
当我点击react-dom.production..链接,我看到以下代码:
var si = /^(.*)[\\\/]/, Q = "function" === typeof Symbol && Symbol.for, Pc = Q ? Symbol.for("react.element") : 60103, gb = Q ? Symbol.for("react.portal") : 60106, Ma = Q ? Symbol.for("react.fragment") : 60107, Af = Q ? Symbol.for("react.strict_mode") : 60108, kc = Q ? Symbol.for("react.profiler") : 60114, Cf = Q ? Symbol.for("react.provider") : 60109, Bf = Q ? Symbol.for("react.context") : 60110, Hj = Q ? Symbol.for("react.concurrent_mode") : 60111, zd = Q ? Symbol.for("react.forward_ref") : 60112, lc = Q ? Symbol.for("react.suspense") : 60113, yd = Q ? Symbol.for("react.suspense_list") : 60120, Ad = Q ? Symbol.for("react.memo") : 60115, Ef = Q ? Symbol.for("react.lazy") : 60116, Df = Q ? Symbol.for("react.block") : 60121, zf = "function" === typeof Symbol && Symbol.iterator, od, xh = function(a) {
return "undefined" !== typeof MSApp && MSApp.execUnsafeLocalFunction ? function(b, c, d, e) {
MSApp.execUnsafeLocalFunction(function() {
return a(b, c, d, e)
})
}
: a
}(function(a, b) {
if ("http://www.w3.org/2000/svg" !== a.namespaceURI || "innerHTML"in a)
a.innerHTML = b;
else {
od = od || document.createElement("div");
od.innerHTML = "<svg>" + b.valueOf().toString() + "</svg>";
for (b = od.firstChild; a.firstChild; )
a.removeChild(a.firstChild);
for (; b.firstChild; )
a.appendChild(b.firstChild)
}
}),
我不知道该怎么做(据推测,这是属于184的所有代码),因为我是JavaScript和React的新手。
我可以在我的网站上修复这个错误吗?如果是,如何进行?这是Youtube的问题吗?
我试着在网上到处找,但我没有找到任何关于我的具体错误的参考资料。我想从iframe嵌入代码中删除web共享,但它有很多视频要看。
iframe嵌入代码示例:
<iframe width="241" height="143" src="https://www.youtube-nocookie.com/embed/youtubeid" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen=""></iframe>
1条答案
按热度按时间kx5bkwkv1#
这不是你的网站的问题,似乎没有负面影响。这是Chrome桌面中的一个错误,不支持Web Share。
这个特性是required as of Chrome 110,如果iframe想要使用Web Share API,它将被添加到iframe的
allow
属性中。YouTube在他们的嵌入代码中指定了它。但桌面上的Chrome无法识别它。Chrome有一个新行为的test site,从their own feature tracker链接,也显示了警告。
如果
navigator.canShare
存在,您可以尝试只包含web-share
位。这将消除警告。但它是无害的。例如:但总的来说不值得。