我正在制作一个依赖于YouTube直播和实时聊天(也来自YouTube)的网络应用。事情变得很好,当突然嵌入聊天拒绝在移动设备上工作。
我试图在我身边发现一个错误或一些无效的配置,但我找不到一个。据我所知,当用户代理标题上出现“移动”语句时,聊天的iframe无法正常加载。
This is a request that's not called on mobile
This image shows that chat is capable of working fine on mobile
The same window but with "Mobile" header
这很奇怪,因为当我将WebView中的User-Agent标题更改为桌面时,一个聊天工作完美无缺:
Android WebView with Desktop User-Agent header
看起来移动请求被阻止而桌面不是,但我不知道为什么。我找不到任何有关它的Youtube或Google声明。
答案 0 :(得分:1)
这似乎是由于YouTube上的用户为其频道选择了用户名“ live_chat”引起的,该用户名与YouTube自己的聊天嵌入代码冲突。
YouTube已在24小时内使用其反馈选项向YouTube报告了该问题,并提供了用户频道的屏幕截图!
现在,嵌入YouTube的实时聊天可在Android设备上运行,而无需在Chrome中请求网站的桌面版本或以任何方式更改用户代理!
答案 1 :(得分:0)
我认为修复它的唯一方法就是改变前面提到的#34; User-Agent" HTTP请求中的标头到桌面,例如:
Mozilla / 5.0(Windows NT 10.0; Win64; x64)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 60.0.3112.78 Safari / 537.36
有一天,问题可能会从YouTube方面解决。