Closed chenqiushi closed 5 years ago
BUG 描述
背景:
迁移测试官方组件 mip-vd-baidu 时发现,该组件的实质是使用的核心内置 mip-video 组件。mip-video 在处理 https 域 下的 非 https 视频资源 时,策略 是:当处于 SuperFrame iframe 环境下时,会通过 viewer 向 sf 发送事件,sf 收到该事件后,作相应处理,跳转到另一个 http 域名进行播放。
https 域
非 https 视频资源
问题:
全量替换 v2 后,使用 v2/mip.js + mip-video 的页面,如果是 https 站点,且加载 http 视频资源,点击播放,不会跳转到播放页。
v2/mip.js
mip-video
如:https://m.baidu.com/mip/c/s/wzry.haosix.com/gonglue/1
复现步骤
在使用了 mip-video 的页面点击视频播放:
sf + v1/mip.js 【跳转正常】(测试需要用代理 将 v2/mip.js => v1/mip.js)
https://m.baidu.com/mip/c/s/wzry.haosix.com/gonglue/1
sf + v2/mip.js 【跳转异常】
sf (path 使用 wishwings) + v1/mip.js 【跳转正常】但参数获取异常,估计 sf 内部处理方式不同(测试需要用代理 将 v2/mip.js => v1/mip.js)
https://m.baidu.com/wishwings/c/s/wzry.haosix.com/gonglue/1
sf (path 使用 wishwings) + v2/mip.js 【跳转正常】但参数获取异常
综上:因为现在已经全量替换 v2,所以线上使用了 mip-video 组件加载 非 https 视频的站点,都有异常。虽然我们提供了 mip-vd-baidu 组件专门处理非 https 资源的这种情况,但如果视频没有被 mip 视频服务抓取时,还是会降级处理,出现上述问题。
非 https
可能原因分析
v1/mip.js 发送的事件名称为:mip_video_jump
v2/mip.js 发送的事件名称为:mip-video-jump
目前看来,sf 在 path 为 wishwings 时,会兼容处理v1 及 v2 的事件。而其他情况的 sf 下,并不会兼容处理 v2 发送的事件。且两种 path 下 sf 对参数及跳转的处理不太一致。
关于事件这里曾经有过讨论:https://github.com/mipengine/mip2/issues/215
期望结果
使用内置 mip-video 组件的站点都能正常跳转播放
问题定位,
新的 service 虽然兼容了两个事件,但处理 postmessage 参数有误,导致跳转正常却不能播放。
SuperFrame 将一并修改上线。
sf 已修复上线。
BUG 描述
背景:
迁移测试官方组件 mip-vd-baidu 时发现,该组件的实质是使用的核心内置 mip-video 组件。mip-video 在处理
https 域
下的非 https 视频资源
时,策略 是:当处于 SuperFrame iframe 环境下时,会通过 viewer 向 sf 发送事件,sf 收到该事件后,作相应处理,跳转到另一个 http 域名进行播放。问题:
全量替换 v2 后,使用
v2/mip.js
+mip-video
的页面,如果是 https 站点,且加载 http 视频资源,点击播放,不会跳转到播放页。如:https://m.baidu.com/mip/c/s/wzry.haosix.com/gonglue/1
复现步骤
在使用了 mip-video 的页面点击视频播放:
sf + v1/mip.js 【跳转正常】(测试需要用代理 将 v2/mip.js => v1/mip.js)
https://m.baidu.com/mip/c/s/wzry.haosix.com/gonglue/1
sf + v2/mip.js 【跳转异常】
https://m.baidu.com/mip/c/s/wzry.haosix.com/gonglue/1
sf (path 使用 wishwings) + v1/mip.js 【跳转正常】但参数获取异常,估计 sf 内部处理方式不同(测试需要用代理 将 v2/mip.js => v1/mip.js)
https://m.baidu.com/wishwings/c/s/wzry.haosix.com/gonglue/1
sf (path 使用 wishwings) + v2/mip.js 【跳转正常】但参数获取异常
https://m.baidu.com/wishwings/c/s/wzry.haosix.com/gonglue/1
综上:因为现在已经全量替换 v2,所以线上使用了 mip-video 组件加载
非 https
视频的站点,都有异常。虽然我们提供了 mip-vd-baidu 组件专门处理非 https 资源的这种情况,但如果视频没有被 mip 视频服务抓取时,还是会降级处理,出现上述问题。可能原因分析
v1/mip.js 发送的事件名称为:mip_video_jump
v2/mip.js 发送的事件名称为:mip-video-jump
目前看来,sf 在 path 为 wishwings 时,会兼容处理v1 及 v2 的事件。而其他情况的 sf 下,并不会兼容处理 v2 发送的事件。且两种 path 下 sf 对参数及跳转的处理不太一致。
关于事件这里曾经有过讨论:https://github.com/mipengine/mip2/issues/215
期望结果
使用内置 mip-video 组件的站点都能正常跳转播放