同洲服务器对接茁壮中间件总结文档
来源:互联网 发布:金特软件 编辑:程序博客网 时间:2024/04/29 14:00
一、 同洲服务器地址:
1. 测试服务器:http://172.30.0.55:8080/。
2. 商用服务器:http://172.30.0.50:8080/。
3. 以测试服务器为例:
同洲服务器高清路径:http://172.30.0.55:8080/iPG/T-nsp/
同洲服务器标清路径:http://172.30.0.55:8080/iPG/T-sd/
4.后台对应portal:
高清测试portal:同洲测试portal_魏搏。
高清商用portal:同洲vod测试portal。
标清测试portal:标清同洲VOD测试portal。
二、 对接中页面存在的一些问题:
1. 对li设置font-size:22px,ipanel由于历史原因,会在22px的基础上增加2px的大小,导致一行容不下换行显示。对接中很多问题都由此引起,一般用改小字号的方式解决。
2. ipanel的一些标签对float属性不支持,修改库后div、li、p标签已经支持float属性。
3. Li标签中,如果li中子标签(如div)高度大于li的高度,li高度按照子标签高度计算。具体修改方案是减小子标签的高度使其不超出li的高度;如果不允许减小高度,也可以将子标签提取出来,然后用绝对定位来调整到想要的位置。
4. 对li设置margin样式及padding样式后,如果内容文字显示不下,超出的部分IE、google等浏览器会不显示,ipanel会换行显示。此问题无法在库里修改(修改后会导致现有项目出现问题),因此尽量回避使用margin、padding属性,改用绝对定位来实现效果;或者加大标签宽度,使内容文字可以显示的下。
5. 对li设置width及padding-left属性,IE、google等浏览器li的宽度为设置的宽度width 加上 padding-left 的宽度;ipanel,li的宽度为设置的宽度。由此导致很多li的内容文字显示不下结果换行显示。解决方法,去掉padding-left属性,或者加大li的宽度。
6. 对数组的处理:var s=["a","b",];b后面有逗号ipanel会认为其后面还有数据,因此显示出来的效果是a b undefined 。库里已经作了修改,改后不会再显示undefined了。
7. 关于eval(callbackfun),同洲common.js中用到此方法,如果callbackfun是一个函数,ipanel会把这个函数转换成string类型导致ajax不能正常回调,页面获取不到数据。修改后如果callbackfun是个函数则直接返回,不做转换。
8. <inputtype='button' value='...'/>,此标签中如果value值超过了设置的width的宽度,ie、google等浏览器不显示超出部分,ipanel会把宽度撑大。(ps:缩小字号)
9. 设置padding:x(上),y(左右),z(下)时IE6、google、firefox:padding的y属性处理正常。ipanel的padding的y属性不起作用。库里已做修改。
10. $("btn_1").style.background="url(images/bg_play.png) center center no-repeat "
ipanel不支持复合样式动态设置,仅能显示背景图片,其后的center center no-repeat复合样式不支持。库里已做修改,可以支持了。
11. document.getElementById(“bnt1”).innerHTML=””;如果找不到bnt1这个id的元素会导致js错误,页面无法获取数据。因此要做判断处理:
if(document.getElementById(“bnt1”)){
document.getElementById(“bnt1”).innerHTML=””;
}
这样如果找不到此id的元素就不会执行这段代码。
12. ipanel不支持document.getElementById(“bnt1”).onclick=funciont(){….}动态赋值方法,库 修改后已经支持。
13. 键值捕获时间:同洲支持window.onkeydown。ipanle不支持,只支持document.onkeydown。
14. 2D页面由潘信解决…
三、 对接中VOD播放出现的问题
1. 同洲使用mp.setSingleMedia(mediaStr);方法可以从断点播放。其中参数mediaStr是一个播放链接地址,其中包含有startTime参数,这个参数是断点播放的起始时间。ipanel修改后此方法也可支持断点播放了。
2. 关于播放过程中按退出键,弹出对话框后视频播放终止并黑屏的问题:
同洲弹出框的方法是location.href =””; 同洲对此解析为页面叠加的机制,不会跳转到新的页面。即播放页面不会停止播放,新的对话框页面会覆盖到此页面上。而ipanel会进行页面的跳转,即播放页面停止播放并跳转到对话框页面。因此会导致黑屏。
解决办法,在按退出键的时候做版本判断,如果是ipanel中间件的话用iPanel.overlayFrame.location.href =””;的方式跳转,如果是同洲的中间件就用本来的location.href=””;的方式跳转。具体方式如下:
添加版本判断函数:
function getBrowserVersion(){
varversion=SysInfo.browserVersion;
if(version=="iPanel3.0")
return0; //0为iPanel浏览器
else
return1; //1为同洲浏览器
}
页面跳转时的判断:
if(getBrowserVersion()==0){
iPanel.overlayFrame.location.href="a_"+url; //跳转到ipanel对话框
}else{
location.href = url;
}
关于弹出框页面:
同洲服务器vodctr文件夹中,以”a_”开头的页面是ipanle的弹出框页面。
ipanel窗体弹出时需要对窗体进行绘制,需要添加:window.moveTo(0, 0);
window.resizeTo(720, 576);(此分辨率为标清,高清为1280, 720)。
然后更改MediaPlayer对象的获取方式:var mp = iPanel.mainFrame.mp;
页面弹出对话框后会有三个按钮,分别为加入书签、直接退出、继续观看,点击这三个按钮都会关闭此弹出框,因此要在函数doConfirm(type)中把原来的跳转连接方式修改一下,并关闭此窗口,具体如下:
跳转前先调用closeVideo();来关闭视频。
将原来的location.href = returnUrl;修改为iPanel.mainFrame.location.href = returnUrl;并调用iPanel.overlayFrame.close();
最后将body标签中的onunload事件修改成:onunload="iPanel.overlayFrame.close()"
四、 关于portal海报、天气预报等问题:
1. 在同洲的VOD应用中,想要按红色键退到portal页,需要在portal页储存一个全局变量:Utility.setEnv("PORTAL_ADDR","ui://index.htm");
2. ipanel中间件在向同洲传递数据的时候,会有乱码出现的情况,因此需要做编码与解码的操作来完成数据的传递。具体如下:
(1).海报添加标示符和编码:
需要在openADPage(__num)函数中添加(具体添加位置见portal):
svalue ="00000"+encodeURI(svalue);
Utility.setEnv("portal_adsFlag",svalue);
其中”00000”为标示符,传值后同洲应用会判断此参数,如果开头含有5个0则会进行解码操作。全局变量portal_adsFlag为同洲应用的连接。
(2).天气预报添加标示符和编码的函数:
单独写一个函数来处理:
function openPage(url){
if(url.indexOf(tongzhouUrl) != -1){
checkCity();
varweatherstr = (weather[mycity].weather).replace("℃","");
Utility.setEnv("picSrc",weather[mycity].weatherImg);
Utility.setEnv("weatherInfo","00000"+encodeURI(weatherstr));
}
}
在portal中引入
<script type="text/JavaScript"src="http://172.16.19.235/weather/weather.js"></script>后就可以使用checkCity();来获取天气参数。
var weatherstr =(weather[mycity].weather).replace("℃",""); 这行代码是获天气值,并且去掉℃符号(同洲天气预报风格不含℃,而且如果带有℃符号会导致排版问题)。
最后两行代码是保存天气图片路径和天气值的全局变量,并进行标示和编码。图片路径的传递不会导致乱码,因此没有进行编码。
最后就是在跳转应用的地方(doSelect函数)调用这个函数。把要跳转的连接带入到openPage(url)函数中,函数会判断是不是要跳转到同洲的服务器:if(url.indexOf(tongzhouUrl) != -1)。其中tongzhouUrl为portal中定义的变量:vartongzhouUrl="http://172.30.0.50:8080";
如果是同洲服务器就进行编码操作,否则跳过。
- 同洲服务器对接茁壮中间件总结文档
- flume同kafka的对接
- 文档服务器测试总结
- 游戏服务器数据缓存和持久化中间件设计总结
- 茁壮琢着茁撰砖座孜琢诅柞罪最总桌租椎
- cdn对接总结
- 技术对接沟通总结
- 对接新浪支付总结
- ICE中间件说明文档
- 浅谈应用服务器中间件
- 浅谈应用服务器中间件
- 应用服务器中间件
- EDU-PAAS文档转换工具对接使用
- Unity Android 依赖库方式对接文档
- Mysql 中间件 oneProxy总结
- 边学边总结-面试-中间件
- 消息中间件理解总结
- MySql DAL中间件总结
- Android 版本解决
- 突然之间不能访问http://127.0.0.1 http://localhost/
- Android 入门开发指南之一 -- Hello,Android例子
- 五大常用算法之二:动态规划算法
- 使用jxl导出大数据量EXCEL时内存溢出的解决办法
- 同洲服务器对接茁壮中间件总结文档
- 数据分析师说坐飞机安全么
- php 之 图片水印 (支持批量图片处理)(支持添加图片水印,文字水印)
- 生成器
- 音乐播放器
- 软件测试的基础知识
- 删除bug
- python爬虫
- HDU 1712 ACboy needs your help(DP)