common.js
//添加cookie
function addCookie(objName,objValue,objHours) {
var str = objName + "=" + escape(objValue);
//objHours为0时不设定过期时间,浏览器关闭时cookie自动消失
if(objHours > 0) {
var date = new Date();
var ms = objHours*3600*1000;
date.setTime(date.getTime() + ms);
str += "; expires=" + date.toGMTString();
}
document.cookie = str;
}
//获取指定名称的cookie的值
function getCookie(objName) {
var arrStr = document.cookie.split("; ");
for(var i = 0;i < arrStr.length;i ++) {
var temp = arrStr[i].split("=");
if(temp[0] == objName) return unescape(temp[1]);
}
}
//删除cookie
function delCookie(name) {
document.cookie = name+"=;expires="+(new Date(0)).toGMTString();
}
//获取请求参数
function getReqParam(name) {
var re = new RegExp(name + "=([^&=]+)");
if(re.test(window.location.search)) {
return RegExp.$1;
}
}
//url拼接参数
function urlAddParam(url, name, value) {
if(!value) return url;
if (/\?$/.test(url)) {
url += name + '=' + value;
} else if (/\?.+$/.test(url)) {
url += '&' + name + '=' + value;
} else {
url += '?' + name + '=' + value;
}
return url;
}
// 方法添加到window.onload
function addLoadEvent(func) {
var oldonload = window.onload;
if(typeof window.onload != "function") {
window.onload = func;
} else{
window.onload = function() {
oldonload();
eval(func);
};
}
}
// 添加返回的url
function addBackUrl(url) {
var cururl = window.location.pathname + window.location.search;
cururl = cururl.replace(/&?gfocusid=([^&=]+)/g, "").replace(/&?focusid=([^&=]+)/g, "");
if (/\?$/.test(cururl)) {
cururl += 'focusid=' + Ejs.getFocus() + '&gfocusid=' + Ejs.getGFocus();
} else if (/\?.+$/.test(cururl)) {
cururl += '&focusid=' + Ejs.getFocus() + '&gfocusid=' + Ejs.getGFocus();
} else {
cururl += '?focusid=' + Ejs.getFocus() + '&gfocusid=' + Ejs.getGFocus();
}
var re = new RegExp("backurl=([^&=]+)");
var backurl = "";
if(re.test(cururl)) {
backurl = RegExp.$1;
}
cururl = cururl.replace(/&?backurl=([^&=]+)/g, "");
backurl = (backurl == "")? encodeURIComponent(cururl) : (backurl + "," + encodeURIComponent(cururl));
if (/\?$/.test(url)) {
url += 'backurl=' + backurl;
} else if (/\?.+$/.test(url)) {
url += '&backurl=' + backurl;
} else {
url += '?backurl=' + backurl;
}
return url;
}
// 获取返回的url
function getBackUrl() {
var url = window.location.href;
var backurl = "";
var re = new RegExp("backurl=([^&=]+)");
if(re.test(url)) {
backurl = RegExp.$1;
}
url = decodeURIComponent(backurl.substr(backurl.lastIndexOf(",") + 1));
backurl = backurl.substring(0, backurl.lastIndexOf(","));
if(backurl == "") return url;
if (/\?$/.test(url)) {
url += 'backurl=' + backurl;
} else if (/\?.+$/.test(url)) {
url += '&backurl=' + backurl;
} else {
url += '?backurl=' + backurl;
}
return url;
}
function createXMLHttpRequest() {
var xmlHttp;
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
return xmlHttp;
}
//post的方法
function doPost(url,str){
var xmlHttp = createXMLHttpRequest();//初始化
if (!xmlHttp)
{
return; //无法创建 xmlhttp 对象
}
xmlHttp.open( "POST", url , true );
xmlHttp.setRequestHeader("content-type","application/json");//post提交设置项
xmlHttp.setRequestHeader("If-Modified-Since","0");//不缓存
xmlHttp.send(str);
return xmlHttp;
}
//get的方法
function doGet(url){
var xmlHttp = createXMLHttpRequest();//初始化
if (!xmlHttp)
{
return; //无法创建 xmlhttp 对象
}
xmlHttp.open( "GET", url , true );
xmlHttp.setRequestHeader("If-Modified-Since","0");//不缓存
xmlHttp.send(Math.random());
return xmlHttp;
}
//========added by hujing for edu project======
function addParameter(params) {
var urlParameters = "";
if(params.length > 0) {
for(var i = 0; i < params.length; i++) {
var curr_param = params[i];
if(i == 0) {
urlParameters += "?" + curr_param.name + "=" + curr_param.value;
} else {
urlParameters += "&" + curr_param.name + "=" + curr_param.value;
}
}
}
return urlParameters;
}
function playVod(elementid,url){
document.getElementById(elementid).src=url;
}
function playRtspMusic(rtspurl) {
if (rtspurl != null && rtspurl != '' && rtspurl != undefined) {
var json;
json = '[{mediaUrl:"' + rtspurl + '",';
json += 'mediaCode: "edu_back_music",';
json += 'mediaType:2,'; // 2: vod, 4: music
json += 'audioType:1,'; // 1: MP2, 2: MP3
json += 'videoType:1,';
json += 'streamType:1,'; // 1: PS, 2: TS
json += 'drmType:1,';
json += 'fingerPrint:0,';
json += 'copyProtection:1,';
json += 'allowTrickmode:0,';
json += 'startTime:0,';
json += 'endTime:0,';
json += 'entryID:"musicentry1"}]';
initMediaPlay1();
MPlayer.setSingleMedia(json);
MPlayer.playFromStart();
}
function initMediaPlay1() {
var playListFlag = 0;
var videoDisplayMode = 1; // 全屏显示
var muteFlag = 0;
var subtitleFlag = 0;
var videoAlpha = 100; // 透明度,0:默认值,不透明; 100:完全透明
var randomFlag = 0; // 随机播放标志:0:不随机,1:随机
var autoDelFlag = 0;
var useNativeUIFlag = 1;
var cycleFlag = 1; //非循环播放
MPlayer.initMediaPlayer(instanceId, playListFlag, videoDisplayMode, 0,
0, 0, 0, muteFlag, useNativeUIFlag, subtitleFlag, videoAlpha,
cycleFlag, randomFlag, autoDelFlag);
instanceId = MPlayer.getNativePlayerInstanceID();
}
}
function playMusicByMediaStr(mediaStr) {
if (mediaStr != null && mediaStr != '' && mediaStr != undefined) {
var json = mediaStr;
initMediaPlay1();
MPlayer.setSingleMedia(json);
MPlayer.playFromStart();
}
function initMediaPlay1() {
var playListFlag = 0;
var videoDisplayMode = 255; // 视频窗口关闭
var muteFlag = 0;
var subtitleFlag = 0;
var videoAlpha = 0; // 透明度,0:默认值,不透明; 100:完全透明
var randomFlag = 0; // 随机播放标志:0:不随机,1:随机
var autoDelFlag = 0;
var useNativeUIFlag = 1;
var cycleFlag = 1; //非循环播放
MPlayer.initMediaPlayer(instanceId, playListFlag, videoDisplayMode, 0,
0, 0, 0, muteFlag, useNativeUIFlag, subtitleFlag, videoAlpha,
cycleFlag, randomFlag, autoDelFlag);
instanceId = MPlayer.getNativePlayerInstanceID();
}
}
config.js
var config = {
// 运行环境TV, PC
environment : "TV,PC",
//debug:true
};
var Cfg = config;
if(window.Authentication){
Authentication.CTCSetConfig('SetEpgMode', 'PAL'); // 标清
}
epgpage.js
/*
* EPG页面JS框架,统一控制页面标签移动、事件处理
*
*/
/*
* document.getElementById简写
*/
function _$(id){
return document.getElementById(id);
}
/*
* 判断字符串是否为空
*/
function isEmpty(str){
if(str === undefined || str === "") {
return true;
}
return false;
}
/*
* 页面公共属性
*/
var elementPool = elementPool? elementPool : {}; // 元素池
var groupPool = groupPool? groupPool : {}; // 分组池
var defaultGroup = defaultGroup? defaultGroup : "default-group"; // 默认组名
var defaultArea = defaultArea? defaultArea : "default-area"; // 默认区块名
var focusId = focusId? focusId : ""; // 页面当前焦点
var lastFocusId = lastFocusId? lastFocusId : ""; // 页面上一焦点
var openId = openId? openId : ""; // 页面菜单打开位置
var gEventPool = gEventPool? gEventPool : {}; // 全局事件池
var lEventPool = lEventPool? lEventPool : {}; // 局部事件池
var position = position? position : ""; // 记录焦点移动位置
/*
* 元素池中获取元素
*/
function getElement(id) {
return elementPool[id];
}
/*
* 分组池中获取分组
*/
function getGroup(gid) {
return groupPool[gid];
}
/*
* 聚焦
*/
function focus(id) {
// Element
var element = getElement(id);
// Change element focus-css
if(element && _$(id)) {
// 记录focus id
focusId = id;
// 如果当前元素被标识为open, 则样式为open css上叠加focus css
if(element.id == openId && element.focusCss) {
_$(id).className = element.openCss +" " + element.focusCss;
} else if(element.focusCss) {
_$(id).className = element.focusCss;
}
if(element.belongGroup) {
// Group
var group = getGroup(element.belongGroup);
// 记录group的focus id
if(group){
group.focusId = focusId;
}
}
// 执行onfocus方法
if(element.onfocus) {
eval(element.onfocus);
}
}
}
/*
* 失焦
*/
function blur(id, blurCss) {
var element = getElement(id);
// Change element blur-css
if(element && _$(id)) {
// 记录last focus id
lastFocusId = id;
// 如果当前元素被标识为open, 则样式改为open css
if(element.id == openId && element.openCss) {
_$(id).className = element.openCss;
} if(blurCss === "" || blurCss) {
_$(id).className = blurCss;
} else if(element.blurCss === "" || element.blurCss) {
_$(id).className = element.blurCss;
}
// 执行onblur方法
if(element.onblur) {
eval(element.onblur);
}
}
}
/*
* 判断元素在页面上是否存在或隐藏
*/
function isExist(id) {
// 如果没有注册到Ejs对象或者已删除,则返回false
if(!getElement(id)) {
return false;
}
// 获取页面标签对象
var tagobj = _$(id);
// 如果页面标签不存在,则返回false
if(!tagobj) {
return false;
}
// 如果页面标签已经隐藏,则返回false
var s = tagobj.style;
if(s.visibility == "hidden" || s.display == "none") {
return false;
}
var dv = document.defaultView;
if(dv && (dv.getComputedStyle (tagobj,null)["visibility"] == "hidden" || dv.getComputedStyle (tagobj,null)["display"] == "none")) {
return false;
}
var cs = tagobj.currentStyle;
if(cs && (cs.currentStyle.visibility == "hidden" || cs.currentStyle.display == "none" )) {
return false;
}
return true;
}
/*
* 搜索下一个元素ID
*/
function nextId(curElement, direction) {
var id = "";
if (curElement.leftId && direction == "left") {
id = curElement.leftId;
} else if (curElement.rightId && direction == "right") {
id = curElement.rightId;
} else if (curElement.upId && direction == "up") {
id = curElement.upId;
} else if (curElement.downId && direction == "down") {
id = curElement.downId;
}
return id;
}
/*
* 区域内向某方向搜索下一个邻组id
*/
function nextIdOtherGroup(startId, direction) {
var id = "";
var startElement = getElement(startId);
var nextElement = getElement(startId);
while(startElement.belongArea == nextElement.belongArea) {
// 已搜索到邻组Id,则结束循环,返回邻组Id
if(startElement.belongGroup != nextElement.belongGroup) {
id = nextElement.id;
break;
}
// 沿各个方向搜索
if (direction == "left") {
if(!nextElement.leftId || isEmpty(nextElement.leftId)) break;
nextElement = getElement(nextElement.leftId);
} else if (direction == "right") {
if(!nextElement.rightId || isEmpty(nextElement.rightId)) break;
nextElement = getElement(nextElement.rightId);
} else if (direction == "up") {
if(!nextElement.upId || isEmpty(nextElement.upId)) break;
nextElement = getElement(nextElement.upId);
} else if (direction == "down") {
if(!nextElement.downId || isEmpty(nextElement.downId)) break;
nextElement = getElement(nextElement.downId);
}
// 如果回到起始点,则终止循环,返回""
if(startElement.id = nextElement.id) {
break;
}
}
return id;
}
/*
* 组内移动
*/
function moveInGroup(fromId, toId, direction) {
var fromElement = getElement(fromId);
var toElement = getElement(toId);
position = toId;
// 同组搜索,单向搜索
while (fromElement.belongGroup == toElement.belongGroup) {
if(isExist(toId)) {
blur(fromId);
focus(toId);
return true;
}
toId = nextId(toElement, direction);
position = toId;
if(isEmpty(toId) || toId == fromId) {
return false;
}
toElement = getElement(toId);
}
return false;
};
/*
* 跨组正交移动
*/
function moveVertical(fromId, toId, direction) {
// 设定正交点为起始点
var startElement = getElement(toId);
var toElement = startElement;
var fromGroup = getGroup(getAttribute(fromId, "belongGroup"));
// 异组内向上搜索
while(startElement.belongGroup == toElement.belongGroup) {
if(isExist(toId)) {
if(fromGroup.keepFocus && fromGroup.keepFocusCss) {
blur(fromId, fromGroup.keepFocusCss);
} else {
blur(fromId);
}
focus(toId);
return true;
}
if(direction == "left" || direction == "right") {
toId = toElement.upId;
} else {
toId = toElement.leftId;
}
// 如果没有下一个ID或者回到起点,则退出循环
if(isEmpty(toId) || toId == startElement.id) {
break;
}
toElement = getElement(toId);
}
// 回到正交点(起始点)
var toElement = startElement;
toId = toElement.id;
// 异组内向下搜索
while(startElement.belongGroup == toElement.belongGroup) {
if(isExist(toId)) {
if(fromGroup.keepFocus && fromGroup.keepFocusCss) {
blur(fromId, fromGroup.keepFocusCss);
} else {
blur(fromId);
}
focus(toId);
return true;
}
if(direction == "left" || direction == "right") {
toId = toElement.downId;
} else {
toId = toElement.rightId;
}
// 如果没有下一个ID或者回到起点,则退出循环
if(isEmpty(toId) || toId == startElement.id) {
break;
}
toElement = getElement(toId);
}
return false;
};
/*
* 跨组移动
*/
function moveOtherGroup(fromId, toId, direction) {
var fromElement = getElement(toId);
var toElement = getElement(toId);
var fromGroup = getGroup(getAttribute(fromId, "belongGroup"));
// 跨组移动,组保留了焦点,直接定位到组焦点
var group = getGroup(toElement.belongGroup);
if(group.keepFocus && !isEmpty(group.focusId) && isExist(group.focusId)) {
if(fromGroup.keepFocus && fromGroup.keepFocusCss) {
blur(fromId, fromGroup.keepFocusCss);
} else {
blur(fromId);
}
focus(group.focusId);
return true;
}
// 记录起始点
var startElement = toElement;
while(fromElement.belongGroup == toElement.belongGroup) {
if(isExist(toId)) {
if(fromGroup.keepFocus && fromGroup.keepFocusCss) {
blur(fromId, fromGroup.keepFocusCss);
} else {
blur(fromId);
}
focus(toId);
return true;
}
// 正交搜索
if(moveVertical(fromId, toId, direction)) {
return true;
}
// 继续沿异组内原方向搜索
toId = nextId(toElement, direction);
position = toId;
if(isEmpty(toId) || startElement.id == toId) {
return false;
}
toElement = getElement(toId);
}
return false;
};
/*
* 区域内垂直移动
*/
function moveVerticalArea(fromId, toId, direction) {
// 设定正交点为起始点
var startElement = getElement(toId);
// 区域内向上搜索
while(true) {
if(direction == "left" || direction == "right") {
toId = nextIdOtherGroup(toId, "up");
} else {
toId = nextIdOtherGroup(toId, "left");
}
if(isEmpty(toId) || startElement.id == toId) {
break;
}
toElement = getElement(toId);
if(startElement.belongArea != toElement.belongArea) {
break;
}
if(moveOtherGroup(fromId, toId, direction)) {
return true;
}
}
// 回到起始点
toId = startElement.id;
// 区域内向下搜索
while(true) {
if(direction == "left" || direction == "right") {
toId = nextIdOtherGroup(toId, "down");
} else {
toId = nextIdOtherGroup(toId, "right");
}
if(isEmpty(toId) || startElement.id == toId) {
break;
}
toElement = getElement(toId);
if(startElement.belongArea != toElement.belongArea) {
break;
}
if(moveOtherGroup(fromId, toId, direction)) {
return true;
}
}
return false;
};
/*
* 区域内移动
*/
function moveInArea(fromId, toId, direction) {
var fromElement = getElement(fromId);
var toElement = getElement(toId);
while(fromElement.belongArea == toElement.belongArea) {
// 组内移动
if(moveInGroup(fromId, toId, direction)){
return true;
}
// 记下当前组开始的位置
var startId = position;
if(isEmpty(startId)) {
return;
}
// 异组移动
if(moveOtherGroup(fromId, startId, direction)) {
return true;
}
// 记下当前组移动的最终位置
var startId2 = position;
// 区域内移动
if(moveVerticalArea(fromId, startId, direction)) {
return true;
}
toId = startId2;
toElement = getElement(toId);
}
return false;
}
/*
* 焦点移动
*/
function move(fromId, toId, direction) {
// 记录焦点移动位置
position = toId;
return moveInArea(fromId, toId, direction);
}
/*
* 元素默认事件.
* toLeft: 左移
* toRight: 右移
* toUp: 上移
* toDown: 下移
* onOk: 确定
*/
// 默认使用不带参数,如果带参数,如: toLeft("^id_0$"),表示如果上一焦点如果是id_0,则按左键直接从当前焦点移到id_0
function toLeft(regx) {
if(regx && lastFocusId.match(regx)) {
var lastFocusId = lastFocusId;
blur(focusId);
focus(lastFocusId);
} else {
var element = getElement(focusId);
if(isEmpty(element.leftId)){
return;
}
move(focusId, element.leftId, "left");
}
}
function toRight(regx) {
if(regx && lastFocusId.match(regx)) {
var lastFocusId = lastFocusId;
blur(focusId);
focus(lastFocusId);
} else {
var element = getElement(focusId);
if(isEmpty(element.rightId)){
return;
}
move(focusId, element.rightId, "right");
}
}
function toUp(regx){
if(regx && lastFocusId.match(regx)) {
var lastFocusId = lastFocusId;
blur(focusId);
focus(lastFocusId);
} else {
var element = getElement(focusId);
if(isEmpty(element.upId)){
return;
}
move(focusId, element.upId, "up");
}
}
function toDown(regx){
if(regx && lastFocusId.match(regx)) {
var lastFocusId = lastFocusId;
blur(focusId);
focus(lastFocusId);
} else {
var element = getElement(focusId);
if(isEmpty(element.downId)){
return;
}
move(focusId, element.downId, "down");
}
}
function onOk(){
var element = getElement(focusId);
if(element && element.url) {
var url = element.url;
if (/\?$/.test(url)) {
url += 'focusid=' + focusId + '&gfocusid=' + getGFocus();
} else if (/\?.+$/.test(url)) {
url += '&focusid=' + focusId + '&gfocusid=' + getGFocus();
} else {
url += '?focusid=' + focusId + '&gfocusid=' + getGFocus();
}
location.href = url;
}
}
/*
* 元素绑定按键响应事件.
* eg: bindEvent('id1', 97, 'myFunc("a", 10)')
*/
function bindEvent(id, key, func){
if(lEventPool[id] == undefined) {
lEventPool[id] = {};
}
// 同时支持PCKey和TVKey
if(typeof(key) == 'object') {
for(var i = 0; i < key.length; i ++) {
lEventPool[id][key[i]] = func;
}
} else {
lEventPool[id][key] = func;
}
}
/*
* 注册全局按键响应事件.
* eg: reigsterEvent(97, 'myFunc("a", 10)')
*/
function registerEvent(key, func){
// 同时支持PCKey和TVKey
if(typeof(key) == 'object') {
for(var i = 0; i < key.length; i ++) {
gEventPool[key[i]] = func;
}
} else {
gEventPool[key] = func;
}
}
/*
* 判断元素是否绑定按键事件.
*/
function hasLEvent(id, key){
if(lEventPool[id] == undefined){
return false;
}
if(lEventPool[id][key] == undefined){
return false;
}
return true;
}
/*
* 判断是否注册全局按键事件.
*/
function hasGEvent(key){
if(gEventPool[key] == undefined){
return false;
}
return true;
}
/*
* 响应按键,执行事件
*/
function handleEvent(key){
var id = focusId;
// 优先执行元素绑定的按键事件.
if(hasLEvent(id, key)){
return eval(lEventPool[id][key]);
}
// 元素没有绑定事件,执行全局按键事件.
if(hasGEvent(key)){
return eval(gEventPool[key]);
}
return;
}
/*
* Input parameter:
* {
* id : "id1",
* leftId : "id0",
* rightId : "id2",
* upId : "",
* downId : "id6",
* focusCss : "focus-css",
* blurCss : "blur-css",
* openCss : "open-css",
* url : "http://xxxx",
* belongGroup : "g1"
* }
*/
function addElement(element) {
var id = element.id;
if(isEmpty(element.belongGroup)) {
element.belongGroup = defaultGroup;
}
if(isEmpty(element.belongArea)) {
element.belongArea = defaultArea;
}
elementPool[id] = element;
var gid = element.belongGroup;
var group = {"gid" : gid, keepFocus : false};
groupPool[gid] = group;
}
function removeElement(id) {
elementPool[id] = undefinded;
}
function getElement(id) {
return elementPool[id];
}
function getAttribute(id, attrKey) {
return elementPool[id][attrKey];
}
function setAttribute(id, attrKey, attrValue) {
elementPool[id][attrKey] = attrValue;
}
/*
* eg: setKeepFocus(["g1", "g2"], true, "css")
*/
function setKeepFocus(gids, keepFocus, keepFocusCss) {
if(keepFocus == undefined) {
keepFocus = false;
}
if(keepFocusCss == undefined) {
keepFocusCss = false;
}
for (var i = 0; i < gids.length; ++ i ) {
groupPool[gids[i]]["keepFocus"] = keepFocus;
groupPool[gids[i]]["keepFocusCss"] = keepFocusCss;
}
}
/*
* setGroup( "g1", ["a1", "a2"], true, "css")
*/
function setGroup(gid, ids, keepFocus, keepFocusCss) {
for(var i = 0; i < ids.length; i ++) {
if(Cfg.debug && !elementPool[ids[i]]) {
alert(ids[i] + " is not in elementPool");
}
elementPool[ids[i]].belongGroup = gid;
}
if(keepFocus == undefined) {
keepFocus = false;
}
if(keepFocusCss == undefined) {
keepFocusCss = false;
}
var group = {"gid" : gid, "keepFocus" : keepFocus, "keepFocusCss" : keepFocusCss};
groupPool[gid] = group;
}
function getGroup(gid) {
return groupPool[gid];
}
function setOpen(id) {
var element = getElement(id);
openId = id;
if(_$(id)) _$(id).className = element.openCss;
}
function setFocus(id) {
focus(id);
}
function getFocus() {
return focusId;
}
function getLastFocus() {
return lastFocusId;
}
/*
* setGFocus( "a1,a2")
*/
function setGFocus(ids) {
var focusId = focusId;
var gfocusIds = ids.split(",");
for(var i in gfocusIds) {
focus(gfocusIds[i]);
}
focusId = focusId;
}
/*
* 获取组焦点,参数为组id,如果没有传参数,则默认取得所有组的id
*/
function getGFocus(gid) {
var gfocusid = "";
if(gid) {
gfocusid = groupPool[gid].focusId;
} else {
for (var gid in groupPool) {
if (!isEmpty(groupPool[gid].focusId)) {
gfocusid += groupPool[gid].focusId + ",";
}
}
gfocusid = gfocusid.replace(/,$/, "");
}
return gfocusid;
}
/*
* 清除组焦点样式
* removeGFocus('g1', true)
* delFocusFlag = true, 不仅清除样式,组保留的焦点也清除,false,只清除样式,仍保留焦点的数据
*/
function removeGFocus(gid, delFocusFlag) {
var gfocusid = groupPool[gid].focusId;
if(_$(gfocusid)) blur(gfocusid);
if(delFocusFlag) groupPool[gid].focusId = "";
}
registerEvent(PKey.left, "toLeft()");
registerEvent(PKey.right, "toRight()");
registerEvent(PKey.up, "toUp()");
registerEvent(PKey.down, "toDown()");
registerEvent(PKey.ok, "onOk()");
onLoad();
function onLoad() {
document.onkeypress = function (event) {
var event = event || window.event;
// if(Cfg.debug) alert("Press key: " + event.keyCode);
handleEvent(event.keyCode);
return false;
};
}
publickey.js
var publickey = {};
// 键值函数数组,key=键值,value=函数名
var global_key_func_arry = [];
/*
* 电视注册键
*/
var TVKey = {
left : 0x0025, // 左/快退
right : 0x0027, // 右/快进
up : 0x0026, // 上
down : 0x0028, // 下
ok : 0x000D, // 确定
back : 0x0008, // 删除/返回
stop : 0x00B8, // 停止
pause : 0x0107, // 暫停
pageup : 0x0021, // 上页
pagedown : 0x0022, // 下页
moreVolume : 0x0103, // 增加音量
lessVolume : 0x0104, // 減少音量
mute : 0x0105, // 静音
key0 : 0x0030, // 0
key1 : 0x0031, // 1
key2 : 0x0032, // 2
key3 : 0x0033, // 3
key4 : 0x0034, // 4
key5 : 0x0035, // 5
key6 : 0x0036, // 6
key7 : 0x0037, // 7
key8 : 0x0038, // 8
key9 : 0x0039, // 9
menu : 0x0110,
del : 0x0118,
mediaplayer : 0x0300,
fastforward : 0x108,//快进,交互视频
fastbackward: 0x109//快退,交互视频
};
/*
* 电脑注册键
* 注意电脑注册键保持与电视注册键一致
*/
var PCKey = {
left : 97, // A
right : 100, // D
up : 119, // W
down : 115, // S
ok : 13, // Enter
back : 98, // B
pageup : 117, // U
pagedown : 105, //I
key0 : 48, // 0
key1 : 49, // 1
key2 : 50, // 2
key3 : 51, // 3
key4 : 52, // 4
key5 : 53, // 5
key6 : 54, // 6
key7 : 55, // 7
key8 : 56, // 8
key9 : 57, // 9
del :118 //v
};
(function(){
if(Cfg.environment == "PC") {
publickey = PCKey;
} else if(Cfg.environment == "TV") {
publickey = TVKey;
} else {
publickey = TVKey;
for(var k in PCKey){
if(publickey[k]) {
publickey[k] = [publickey[k], PCKey[k]];
} else {
publickey[k] = PCKey[k];
}
}
}
})();
var PKey = publickey;