EPG开发《异常排查以及解决方案》

【框架】??STB TV端全栈解决方案。Android、Linux、电信、移动、广电平台 https://shitaozhang.github.io/

【文档】EPG 的全业务解决方案,拥有最新的 ES6\ES7 API、Preact、Mobx 而无需考虑其兼容性。同时包含所有常规功能、业务最佳实践示例

【原文地址】

盒子与浏览器差异

  • 盒子关机后 cookie 清空
  • IPTV规范针对 JavaScript 扩展 API 不要通过闭包或 require 加载,出现接口无法访问问题
  • 安徽-海信-ZP906H 盒子全局 top 属性作为 js 关键字。再次声明或赋值操作为无效。尽可能不要使用该关键字 top
  • 数码视讯 Q5 小窗视频会覆盖所有元素背景图片样式;添加 背景图片可能导致屏幕部分黑屏(图片相关使用 img 标签)
  • 创维 E900 返回简码与其它盒子不一致 Key.Backspace2且隐藏视频接口 this.mediaPlay.setVideoDisplayMode(255)无效
  • APK 暴露的方法不要使用 let var 去定义 否则导致为空
  • line-height 居中文字盒子展示有差异,使用 padding + font-size 代替 line-height 高度
  • 部分盒子加载超长图片会失真模糊,浏览器自动降低图片分辨率进行下载,解决方案拆分成多个
  • 绝大部分盒子默认背景色为黑色
  • 烽火盒子背景图片切换会闪动;使用 visibility 代替 display:none 方式来显示图片;Velocity.js 插件导致的兼容性问题
  • 播放影片部分可以播放 驻地网络 DHCP与 PPOE 可能导致网络不一样
  • 烽火盒子 window.onkeydown 有时会失效推荐使用 document.onkeydown 还无法解决在页面加载主动 window.focus() 该盒子对于已经访问过页面貌似会抽风,需要主动激活
  • 使用 Player 组建;创维中兴 调用频道播放直播流 A B 页面频繁切换时需注意 创建与播放 MediaPlayer 实例的间隔。可导致 无法播放问题。解决方案。在 A B 页面不要释放播放器。可重复创建 MediaPlayer 实例
  • 创维E8205 在 A 页面创建播放器没有释放情况到 B 页面进行播放 这时 Backspace 被系统阻止.释放播放器后可恢复该异常
  • ES5 特性不要使用 default 导出 低版本内核实现 default 会报错,比如IE 8及以下也可使用下面一条处理方式
  • 生成 ES5 代码时由于盒子环境不支持部分 ES5 标签因此需要我们转换为 ES3 webpack 配置 es3ify-loader 加载器可解决这个问题
  • 不可使用 a 标签,除非你完全清楚他在不同盒子的表现。通常 a 标签是默认的且可受 按键操控(移动、确认) 大部分情况下这个并不是我们需要的
  • 盒子调试可配置 ie8 环境。该环境都能正常运行基本可保证盒子可运行。目前 4k 盒子比 ie8 兼容还要好一些比如 ie8 中报错的 Object.defineProperty 在盒子基本能正常运行
  • 烽火盒子对 BUG 绝对敏感,遇到烽火盒子不能运行其他盒子可以运行情况,最佳方式抓 ADB 日志。绝大部分可能性是程序运行时调用到空对象(大部分盒子会忽略这种错误))
  • 本地可以访问,盒子API报错,通常IP段分内网外网,盒子是内网 PPEOP 拨号基本是内网,查看配置文件 是否处理动态匹配API域名
  • 盒子播放直播串切小屏切换全屏或者全屏切换小屏会导致视屏源丢失;需要重新调用播放;播放频道号不存在这个问题
  • 播放器通常放在页面加载处实例化,以保证全局仅实例化一次。
  • 播放频道需要使用 Number 进行类型转换,不然有可能存在潜在问题
  • 多个页面操作播放频道时,最好先调用离开频道方法,再掉进入频道,否则部分盒子导致频道播放黑屏
  • 安徽天翼盒子不支持调频道号进行播放(或者该账号不支持当前所播放频道。可以在频道太直接进入频道进行判断,该频道在当前环境是否正常)
  • 烽火 HG680-J 调用 joinChannel 传入空频道号,会导致盒子重启。解决方案进行判断再调用
  • 创维 E910
    play.setMute();
    play.stop();
    play.displaySmall({left:-500,top:-500,width:100,height:100});
其中一步骤会导致视频死掉,页面死掉,焦点无法移动。解决方案 play.release(); 直接释放来代替隐藏视频效果
  • 带有 bottom 属性元素消失,考虑盒子对于该属性解析失效,推荐采用 top 设置样式
  • 刚创建的播放器不需要调用 leaveChannel 部分盒子可导致异常
  • 播放频道号数据源为空导致异常重启(直接进入频道看是否正常播放)
  • 华为盒子对于渲染引擎与JS解释器切换不够直接。直接追加元素在通过父元素获取可能为空,可在获取代码做延迟处理
  • 部分盒子出现闪退问题,如果是在同一步动作复现,很大可能是该部分代码出现类型错误
  • 部分盒子出现闪退问题,焦点切换一段时间,系统自动退出。去掉 transition 等一系列 CSS3 属性便可恢复
  • 部分盒子出现闪退问题,(特别是移动盒子)GIF图片导致性能瓶颈盒子闪退,去掉动图便可解决
  • 移动部分盒子自动缓存API接口,加入时间戳可解决
  • 移动部分盒子 Cookie 存储时 path=/ 导致存储失败,采用默认路径,即不设置 path 属性可正常存取
  • 部分盒子EPG中有嵌套iframe导致页面比例异常放大,需要在 iframe 嵌套页面设置显示比例viewport 和 page-view-size
  • 部分盒子加载缓慢,切换数据卡顿。考虑是否内存过小,此基础上进行优化
  • 播放器无法监听播放结束事件解决方案

原文地址:https://www.cnblogs.com/menu/p/11196496.html

时间: 2024-10-22 01:08:46

EPG开发《异常排查以及解决方案》的相关文章

异常排查_Python-日志模块.NoSectionError: No section: '*' 错误?

问题复现: Traceback (most recent call last):   File "/usr/lib/python2.6/site-packages/logging-0.4.9.6-py2.6.egg/logging/config.py", line 171, in fileConfig     qn = cp.get(sectname, "qualname")   File "/usr/lib64/python2.6/ConfigParse

android开发异常信息收集程序代码

首先创建全局的Application ,此Application全局通用. package com.demo.utils; import com.demo.exception.CrashHandler; import android.app.Application; /** * 全局的context,任意位置调用 * @author Administrator * */ public class GlobalApplication extends Application { private st

Java ConcurrentModificationException 异常分析与解决方案

Java ConcurrentModificationException 异常分析与解决方案http://www.2cto.com/kf/201403/286536.html java.util.ConcurrentModificationException 解决办法 http://blog.csdn.net/lipei1220/article/details/9028669 原因:Iterator做遍历的时候,HashMap被修改(bb.remove(ele), size-1),Iterato

无线同步数传通信系统开发套件及应用解决方案

福州开发区慧聚通信技术有限公司的无线同步数传通信系统,搭载无线组网协议栈,提供强大的自我形成.自我恢复的低功耗无线星形网络组网技术,可提供高精确度的同步输出信号,其同步性能接近高精度的GPS时基接收机,是性价比极高的无线同步控制器件. 慧聚无线同步数传通信系统实现星形网络技术,可实现一对一通信,一对多通信,一对多同步执行功能. 慧聚无线同步数传通信系统工作在2.4GHZ ISM频段.模块输出功率为17dBm. 慧聚无线同步数传通信系统提供UART接口.CAN接口(可选).RS485接口(可选).

【转】Java ConcurrentModificationException 异常分析与解决方案--还不错

原文网址:http://www.2cto.com/kf/201403/286536.html 一.单线程 1. 异常情况举例 只要抛出出现异常,可以肯定的是代码一定有错误的地方.先来看看都有哪些情况会出现ConcurrentModificationException异常,下面以ArrayList remove 操作进行举例: 使用的数据集合: ? 1 2 3 4 5 6 7 List<string> myList = new ArrayList<string>(); myList.

redis 异常排查

异常排查 redis-server redis.windows.conf D:\redis-2.8.17>redis-server.exe redis.windows.conf[4692] 27 Nov 12:14:05.995 #The Windows version of Redis allocates a memory mapped heap for sharing withthe forked process used for persistence operations. In ord

最新工控\建模仿真\组态\监控集成开发平台源码解决方案2018

最新工控\建模仿真\组态\监控集成开发平台源码解决方案2018 -- ---所有VC++源码100%提供! 使用E-Form++可视化企业版本,构建属于自己的专业工控.建模仿真. 监控组态.培训仿真平台! -- 100%源码 (全部采用Visual C++/MFC编写)彻底开放组态平台!  下载E-Form++全功能免费评估版本 -- 下载地址 (2018年全新!)  下载此组态解决方案-- 下载地址1 下载地址2 (2018年全新!) HMI硬件采集数据接口代码及说明: 下载硬件数据接口dll

0075 移动开发选择和技术解决方案:单独、响应式、normalize.css、border-box、移动端特殊样式

4.1移动端主流方案 1.单独制作移动端页面(主流) 通常情况下,网址域名前面加 m(mobile)可以打开移动端.通过判断设备,如果是移动设备打开,则跳到移动端页面. 也就是说,PC端和移动端为两套网站,pc端是pc端的样式,移动端再写一套,专门针对移动端适配的一套网站. 京东pc端.移动端: 2.响应式页面兼容移动端(其次) 响应式网站:即pc和移动端共用一套网站,只不过在不同屏幕下,样式会自动适配. 4.2 移动端技术解决方案 1.移动端浏览器兼容问题 移动端浏览器基本以 webkit 内

C++ 软件开发多国语言解决方案汇总

暂时汇总出了以下几种方法 以Unicode为核心 采用 GNU gettext  基于Qt的多语言开发工具:Qt Linguist  以Unicode为核心 参考:http://www.ibm.com/developerworks/cn/linux/l-cn-ccppglb/ 多国语言的存在,使程序员在编码处理上花费了大量时间和精力:然而各种各样的乱码问题,如 XML 格式错误.文本显示异常.解析器异常等依然层出不穷.特别的,相对于 JAVA 语言,C/C++ 在处理编码问题上有更大的困难.本文