//语音指读时遇到无id、class时进行id处理,使其id为 notName+数字 格式,数字自增加 var notNameNum = 0; //初始化 var readZoom = 0; var bfreeOnOff = true; var nAgt = navigator.userAgent; var mozilla = (nAgt.indexOf('Mozilla') > -1 && nAgt.indexOf('Firefox') > 0) || false; var opera = (nAgt.indexOf('opera') > 0 && true) || false; function bfree_fn(str) { try { if (str == 'on') { if (!bfreeOnOff) { return; } $('#bfree, #bfree_zw').show(); $('.switch_font').hide(); //obj.style.color = "#1dd9e2"; $('#bfree_bar_home').focus(); cursor.open(); pageZoom.defaultPage(); speak.pointer.on(); bfreeOnOff = false; } if (str == 'off') { //speakonly.oc(); bfreeOnOff = true; $('#ccbPage').css('marginTop', 'auto'); $('#bfree, #bfree_zw, #SpeakerOnly').hide(); $('#pft').css('margin-bottom', 0); $('.switch_font').show(); cursor.close(); guides.close(); speakonly.onoff = true; speak.pointer.off(); cursor.changeArrow('arrow_5'); pageZoom.defaultPage(); highContrast.pageColor && highContrast.changeTheme('highContrast_5') && top.Observer.fire('changeTheme', 'highContrast_5'); bigtext.default1(); exitFullScreen(); $('#bfree_bar_fullscreen').removeClass('y_full'); changeFont.fontDefault(); // 去除alt+数字 产生的outline $('#tnav .container, #phd .container, #pnav .container, #pmain, #idxsidecontainer, #pft').css({ outline: 'none', }); } } catch (e) {} } //加载js、css function loadjscssfile(filename, filetype) { if (filetype == 'js') { var fileref = document.createElement('script'); fileref.setAttribute('type', 'text/javascript'); fileref.setAttribute('src', filename); } else if (filetype == 'css') { var fileref = document.createElement('link'); fileref.setAttribute('rel', 'stylesheet'); fileref.setAttribute('type', 'text/css'); fileref.setAttribute('href', filename); } if (typeof fileref != 'undefined') { document.getElementsByTagName('head')[0].appendChild(fileref); } } //移除js、css function removejscssfile(filename, filetype) { var targetelement = filetype == 'js' ? 'script' : filetype == 'css' ? 'link' : 'none'; var targetattr = filetype == 'js' ? 'src' : filetype == 'css' ? 'href' : 'none'; var allsuspects = document.getElementsByTagName(targetelement); for (var i = allsuspects.length; i >= 0; i--) { if ( allsuspects[i] && allsuspects[i].getAttribute(targetattr) != null && allsuspects[i].getAttribute(targetattr).indexOf(filename) != -1 ) { allsuspects[i].parentNode.removeChild(allsuspects[i]); } } } //推荐方案 var programme = {}; programme.flg = 'programme'; programme.change = function (type) { $('#bfree_bar_programme i').removeClass(programme.flg).addClass(type); //bfree_tool_iframe = $(document.body); $('#bfree_list_' + type) .parent('li') .parent('ul') .find('li') .removeClass('active'); $('#bfree_list_' + type) .parent('li') .addClass('active'); programme.flg = type; }; //鼠标模块 var cursor = {}; cursor.flg = ''; cursor.open = function () { if (cursor.flg != '') { cursor.changeArrow(cursor.flg); } bfree_tool_iframe = $(document.body); }; cursor.close = function () { bfree_tool_iframe = $(document.body); // $(bfree_tool_iframe).removeClass("mouseBoldBlack"); $(bfree_tool_iframe).css('cursor', 'auto'); $(bfree_tool_iframe).find('a').css('cursor', 'pointer'); //cursor.flg = "arrow_5"; }; cursor.changeArrow = function (arrowType) { cursor.flg = arrowType; $('#bfree_list_' + arrowType) .parent('li') .parent('ul') .find('li') .removeClass('active'); $('#bfree_list_' + arrowType) .parent('li') .addClass('active'); var ico = '/P1StaRes/V6/STY1/CN/images/' + arrowType.replace('arrow_', 'shubiao') + '.cur'; if (arrowType == 'arrow_5' || arrowType == '') { $('body').css('cursor', 'auto'); $('body').find('a').css('cursor', 'pointer'); top.Observer.fire('changeArrow', 'ico'); $('#bfree_bar_arrows').parent().removeClass('active'); } else { $('body') .css('cursor', 'url(' + ico + '), auto') .find('a') .css('cursor', 'url(' + ico + '), auto'); top.Observer.fire('changeArrow', ico); $('#bfree_bar_arrows').parent().addClass('active'); } }; //辅助线模块 var guides = {}; guides.statusguides = 'on'; guides.toolbarGuides = function () { switch (guides.statusguides) { case 'on': guides.open(); guides.statusguides = 'off'; break; case 'off': guides.close(); guides.statusguides = 'on'; break; } }; guides.open = function () { bfree_tool_iframe = $(document.body); $('#bfree_bar_guides').parent('li').addClass('active'); // bfree_tool_iframe = $('#ccbPage'); var childHeight = 0; childHeight = document.documentElement.scrollHeight || document.body.scrollHeight; var str = '
'; bfree_tool_iframe.append(str); if (mozilla || opera) { $('#slideLateral, #slideLongitudinal').css({ transform: 'scale(' + pageZoom.zoom + ')', }); } else { $('#slideLateral, #slideLongitudinal').css({ zoom: pageZoom.zoom, }); } document.onmousemove = function (e) { e = e || window.event; //alert("1") var pointer = getCoordInDocument(e); var target = e.target; if (target.tagName === 'IFRAME') { guides.iframeTarget = target; } else { guides.iframeTarget = ''; } $('#slideLateral').css('top', pointer.y + 10); $('#slideLongitudinal') .css('left', pointer.x + 10) .css('height', childHeight); }; }; /** var getCoordInDocument = function (e) { e = e || window.event; var x = e.clientX + (top.document.documentElement.scrollLeft || top.document.body.scrollLeft) || e.pageX; var y = e.clientY + (top.document.documentElement.scrollTop || top.document.body.scrollTop) || e.pageY; //alert(readZoom) return { x: x / (readZoom == 0 ? 1 : readZoom), y: y / (readZoom == 0 ? 1 : readZoom), }; }; */ var getCoordInDocument = function (event) { //鼠标定位赋值函数 var posX = 0, posY = 0; //临时变量值 var e = event || window.event; //标准化事件对象 if (e.pageX || e.pageY) { //获取鼠标指针的当前坐标值 posX = e.pageX; posY = e.pageY; } else if (e.clientX || e.clientY) { posX = event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft; posY = event.clientY + document.documentElement.scrollTop + document.body.scrollTop; } return { x: posX / (readZoom == 0 ? 1 : readZoom), y: posY / (readZoom == 0 ? 1 : readZoom), }; }; function getElementLeft(element) { var actualLeft = element.offsetLeft; var current = element.offsetParent; while (current !== null) { actualLeft += current.offsetLeft; current = current.offsetParent; } return actualLeft; } function getElementTop(element) { var actualTop = element.offsetTop; var current = element.offsetParent; while (current !== null) { actualTop += current.offsetTop; current = current.offsetParent; } return actualTop; } guides.close = function () { $('#bfree_bar_guides').parent('li').removeClass('active'); $(document.body).find('#slideLateral, #slideLongitudinal').remove(); }; //文本模式 var textMode = {}; textMode.status = 'off'; textMode.imgAlt = function (imgAlt) { var imgAltName = ''; imgAlt = imgAltName; }; //缩放字体 var changeFont = {}; changeFont.fontZoom = 1; //放大、缩小倍数 changeFont.fontBigger = function () { changeFont.fontZoom = (changeFont.fontZoom * 10 + 1) / 10; // 其实就是changeFont.fontZoom += 0.1; 但是这么直接算小数会出现1.5999999这种不准确的数字 if (changeFont.fontZoom > 1.3) { changeFont.fontZoom = 1.3; alert('文字已放大至最大!'); return false; } changeFont.change('bigger'); //放大文字 }; changeFont.fontSmaller = function () { if (changeFont.fontZoom > 0.9) { //当点击放大文字按钮后才能缩小文字 changeFont.fontZoom = (changeFont.fontZoom * 10 - 1) / 10; // 理由同上 changeFont.change('smaller'); //缩小文字 } else { alert('文字已缩小至最小!'); } }; changeFont.fontDefault = function () { changeFont.change('fontdefault'); //还原文字 changeFont.fontZoom = 1; }; changeFont.change = function (fontAct) { $('body *:not("body #wza *, body script, body svg, body svg *, img")').each(function () { if ($(this)[0].tagName === 'IFRAME') { if ($(this).contents().find('body *').length > 0) { $(this) .contents() .find('body *:not("body script, body svg, body svg *, img")') .each(function () { changeFontSize($(this), fontAct); }); } } else { changeFontSize($(this), fontAct); } }); }; function changeFontSize(obj, fontAct) { $(obj).css('font-size', function (index, value) { var basicPX = parseFloat(value); if (fontAct == 'bigger') { try { var newValue = $(obj).attr('class').split('fontModify_')[1]; $(obj).removeClass('fontModify_' + newValue); if (undefined !== newValue) { basicPX = parseFloat(newValue) / ((changeFont.fontZoom * 10 - 1) / 10); //changeFont.fontZoom-0.1 获取当前字体处于的倍数 } } catch (error) {} var fontSize = basicPX * changeFont.fontZoom; var lastFontSize = basicPX * (changeFont.fontZoom - 0.1); $(obj).addClass('fontModify_' + fontSize.toFixed(0)); // $(this).removeClass('fontModify_' + lastFontSize.toFixed(2)); return fontSize.toFixed(0) + 'px'; } else if (fontAct == 'smaller') { try { var newValue = $(obj).attr('class').split('fontModify_')[1]; $(obj).removeClass('fontModify_' + newValue); if (undefined !== newValue) { basicPX = parseFloat(newValue) / ((changeFont.fontZoom * 10 + 1) / 10); //changeFont.fontZoom+0.2 获取当前字体处于的倍数 } } catch (error) {} var fontSize = basicPX * changeFont.fontZoom; var lastFontSize = basicPX * (changeFont.fontZoom + 0.1); $(obj).addClass('fontModify_' + fontSize.toFixed(0)); // $(this).removeClass('fontModify_' + lastFontSize.toFixed(2)); return fontSize.toFixed(0) + 'px'; } else { var basicPX = parseFloat(value) / changeFont.fontZoom; return basicPX.toFixed(0) + 'px'; } }); } //高对比度模式 var highContrast = {}; highContrast.pageColor = ''; highContrast.changeTheme = function (modeStyle) { //highContrast.pageColor = modeStyle; bfree_tool_iframe = $('body *:not("#wza *")'); var thmeMode = modeStyle; var finds = '*:not(#bfree,#bfree *,#BigText,#BigText *,#slideLateral,#slideLongitudinal,#fsD1 *)'; $('#bfree_list_' + thmeMode) .parent('li') .parent('ul') .find('li') .removeClass('active'); $('#bfree_list_' + thmeMode) .parent('li') .addClass('active'); //alert(highContrast.pageColor) if (thmeMode != 'highContrast_5') { $(bfree_tool_iframe).removeClass(highContrast.pageColor); $(bfree_tool_iframe).addClass(thmeMode); $(bfree_tool_iframe) .find(finds) .each(function () { $(this).removeClass(highContrast.pageColor); $(this).addClass(thmeMode); }); top.Observer.fire('changeTheme', thmeMode); highContrast.pageColor = thmeMode; $('#bfree_bar_highContrast').parent().addClass('active'); } else { $(bfree_tool_iframe).removeClass(highContrast.pageColor); $(bfree_tool_iframe) .find(finds) .each(function () { $(this).removeClass(highContrast.pageColor); }); top.Observer.fire('changeTheme', thmeMode); highContrast.pageColor = ''; $('#bfree_bar_highContrast').parent().removeClass('active'); } $('.logo img').css({ 'background-color': '#fff' }); }; //页面放大缩小模块 var pageZoom = {}; pageZoom.zoom = 1; //pageZoom.toolbarZoomDefault = $(".zw").css("zoom")||1; //pageZoom.toolbarZoom = parseFloat(pageZoom.toolbarZoomDefault); readZoom = 0; pageZoom.increasePage = function () { if (pageZoom.zoom.toFixed(1) >= 1.6) { pageZoom.zoom = 1.6; //ESDWebApp.toolbar.buttonReader.read("pageZoomMaximum"); } else { pageZoom.pageZoom('increase'); //ESDWebApp.toolbar.buttonReader.read("pageZoomIn"); } }; pageZoom.decreasePage = function () { if (pageZoom.zoom.toFixed(1) <= 0.8) { pageZoom.zoom = 0.8; //ESDWebApp.toolbar.buttonReader.read("pageZoomMinimum"); } else { pageZoom.pageZoom('decrease'); //ESDWebApp.toolbar.buttonReader.read("pageZoomOut"); } }; pageZoom.defaultPage = function () { pageZoom.pageZoom('default'); }; pageZoom.pageZoom = function (action) { bfree_tool_iframe = $('#ccbPage'); var nowZoom = 0; if (action == 'increase') { nowZoom = parseFloat(pageZoom.zoom) + 0.1; pageZoom.zoom += 0.1; } else if (action == 'decrease') { nowZoom = parseFloat(pageZoom.zoom) - 0.1; pageZoom.zoom -= 0.1; } else { nowZoom = 1; pageZoom.zoom = 1; } readZoom = nowZoom; if (mozilla || opera) { $(bfree_tool_iframe).css({ transform: 'scale(' + nowZoom + ')', 'transform-origin': 'top', }); $('#slideLateral, #slideLongitudinal').css({ transform: 'scale(' + nowZoom + ')', }); top.Observer.fire('changeZoom', nowZoom); } else { if (nowZoom > 1.7 && nowZoom < 0.8) { return; } $(bfree_tool_iframe).css({ zoom: nowZoom.toFixed(2), overflow: 'scroll', 'overflow-x': 'hidden', }); $('#slideLateral, #slideLongitudinal').css({ zoom: nowZoom.toFixed(2), }); top.Observer.fire('changeZoom', nowZoom); if (nowZoom.toFixed(2) == 1.0) { $(bfree_tool_iframe).css({ overflow: '' }); } if (action == 'decrease' || action === 'increase') { if (BROWSER.isCurrIE9() || BROWSER.isCurrIE10() || BROWSER.isCurrIE8()){ $('#ccbPage').css('marginTop', $('#bfree').height() + 'px'); return; } $('#ccbPage').css('marginTop', ($('#bfree').height() / nowZoom.toFixed(2)).toFixed(2) + 'px'); } } }; //朗读 var speak = {}; speak.volume = 66; speak.onoff = false; // speak.thisdom; //指读/键盘朗读对象 speak.thisdomOnOff = false; speak.sound = {}; speak.sound.onoff = function () { var chorme = (nAgt.indexOf('chorme') > 0 && true) || false; if (speak.onoff) { var soundIframe = ''; chorme && $('body').append(soundIframe); $('#bfree_bar_soundOnOff i , #bfree_spk_soundOnOff i').removeClass('soundOn').addClass('soundOff'); speak.onoff = false; //alert(speak.onoff) } else { chorme && $('#soundBlank').remove(); $('#bfree_bar_soundOnOff i , #bfree_spk_soundOnOff i').removeClass('soundOff').addClass('soundOn'); speak.onoff = true; //alert(speak.onoff) } }; //指读开关 speak.pointer = {}; speak.pointer.onoff = function () { if (speak.thisdomOnOff) { speak.pointer.off(); } else { speak.pointer.on(); } }; speak.pointer.off = function () { if (!$('#bfree_bar_Pointer i').hasClass('pointerDisable')) { $('#bfree_bar_Pointer i').removeClass('pointerOn').addClass('pointerOff'); } speak.thisdomOnOff = false; }; speak.pointer.on = function () { if (!(BROWSER.isChrome() || BROWSER.isFirefox() || BROWSER.isChromeEdge())) { // if (BROWSER.isCurrIE8() || BROWSER.isCurrIE9() || BROWSER.isSafari() || BROWSER.isCurrIE10() || BROWSER.isCurrIE11()) { if (!$('#bfree_bar_Pointer i').hasClass('pointerDisable')) { $('#bfree_bar_Pointer i').removeClass('pointerOff').removeClass('pointerOn').addClass('pointerDisable'); $('#bfree_bar_soundOnOff i').removeClass('soundOn').removeClass('pointerOn').addClass('soundOnDisable'); $('#bfree_bar_speedUp i').removeClass('speedUp').removeClass('pointerOn').addClass('speedUpDisable'); $('#bfree_bar_speedDown i').removeClass('speedDown').removeClass('pointerOn').addClass('speedDownDisable'); try { var wscript = new ActiveXObject('WScript.Shell'); } catch (e) { $('#bfree_bar_fullscreen i').removeClass('b_fullscreen').addClass('fullscreenDisable'); } } //alert('此浏览器不支持语音指读!') return; } else { $('#bfree_bar_Pointer i').removeClass('pointerOff').addClass('pointerOn'); speak.thisdomOnOff = true; } }; speak.t; speak.on = function (id, url) { if (!speak.thisdomOnOff) { return; } speak.Url = url; clearTimeout(speak.t); speak.t = setTimeout('speak.read("' + id + '")', 100); }; speak.off = function (id) { $('#' + id).removeClass('bfree_active'); speak.Url = ''; speak.initSound.stop(); }; speak.read = function (id) { //alert(speak.onoff) if (!speak.onoff) { return; } if (speak.initSound instanceof jQuery) { speak.initSound.stop(); } //if(sound instanceof jQuery){sound.mute(speak.thisdom)} speak.initSound = soundManager.createSound({ id: id, url: speak.Url, }); //setTimeout(function(){sound.play()},1000); speak.initSound.play(); speak.thisdom = id; //$(obj).unbind("mouseover.pSpeak"); }; //读屏模式和大字幕 var speakonly = {}; speakonly.onoff = true; speakonly.oc = function () { if (speakonly.onoff) { $('#bfree, #bfree_zw').hide(); $('#SpeakerOnly, #BigText').show(); $('#pft').css('margin-bottom', $('#BigText').height()); $('#ccbPage').css('marginTop', $('#SpeakerOnly').height()); // if (pageID == 'index') { soundManager.url = 'swf'; // speak.Url = soundDataBase.page['读屏专用简介']; soundManager.onready(function (status) { if (status.success) { soundManager.play('speakOnlyDescription', speak.Url); } else { alert('soundManager出现异常'); } }); //speak.thisdom = "speakOnlyDescription"; //speak.read("speakOnlyDescription"); // } speakonly.onoff = false; bigtext.onoff = false; //zh_init(); } else { $('#bfree, #bfree_zw').show(); $('#ccbPage').css('marginTop', $('#bfree').height()); $('#SpeakerOnly, #BigText').hide(); speakonly.onoff = true; bigtext.onoff = true; $('#pft').css('margin-bottom', 0); } //alert(bigtext.onoff) }; var bigtext = {}; bigtext.onoff = true; bigtext.zh = 's'; //$("#BigText").hide(); bigtext.oc = function () { if (bigtext.onoff) { $('#BigText').show(); bigtext.onoff = false; //zh_init(); $('#bfree_bar_BigText').parent('li').addClass('active'); $('#bfree_spk_BigText').addClass('active'); $('#pft').css('margin-bottom', $('#BigText').height()); } else { $('#BigText').hide(); bigtext.onoff = true; $('#bfree_bar_BigText').parent('li').removeClass('active'); $('#bfree_spk_BigText').removeClass('active'); $('#pft').css('margin-bottom', 0); } //alert(bigtext.onoff) }; bigtext.highcontrast = function (n) { var typeBG = ['#fff', '#00f', '#ff0', '#000', '']; var typeC = ['#000', '#ff0', '#000', '#ff0', '']; //alert(typeBG[n]) $('#BTcont,#BTcont *').css({ 'background-color': typeBG[n], color: typeC[n], }); }; bigtext.veiw = function (txt) { $('#BTcont h1').html(txt); //$("#bfree_BT_zt").html("繁體"); if (bigtext.zh == 't') { zh_tran('t', document.getElementById('BTcont')); } //document.getElementById("BTcont").childNodes[0].innerHTML=txt; }; bigtext.default1 = function () { $('#BigText').hide(); bigtext.zh = 's'; bigtext.onoff = true; }; speakonly.navsnow; speakonly.navs = function (act) { //$("#"+speakonly.navsnow).removeClass("bfree_active"); id = act + '0'; a = speakonly.onoff ? 265 : 120; $('html,body').animate({ scrollTop: $('#' + id).offset().top - a }, 500); //speakonly.navsnow = id; //$("#"+id).addClass("bfree_active"); }; // 打开全屏 function fullScreen() { try { var el = document.documentElement; var rfs = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullScreen; if (typeof rfs != 'undefined' && rfs) { rfs.call(el); } else if (typeof window.ActiveXObject != 'undefined') { try { var wscript = new ActiveXObject('WScript.Shell'); if (wscript != null) { wscript.SendKeys('{F11}'); } } catch (e) { $('#bfree_bar_fullscreen i').removeClass('b_fullscreen').addClass('fullscreenDisable'); alert('您使用的浏览器不支持全屏API或已被禁用'); } } } catch (e) {} $('#bfree_bar_fullscreen').parent().addClass('active'); } // 关闭全屏 function exitFullScreen(el) { if ($('#bfree_bar_fullscreen i').hasClass('fullscreenDisable')) { return; } try { var el = document; var cfs = el.cancelFullScreen || el.mozCancelFullScreen || el.msExitFullscreen || el.webkitExitFullscreen || el.exitFullscreen, wscript; $('#bfree_bar_fullscreen').parent().removeClass('active'); if (cfs) { cfs.call(el); return; } else if (typeof window.ActiveXObject !== 'undefined') { try { var wscript = new ActiveXObject('WScript.Shell'); if (wscript != null) { wscript.SendKeys('{F11}'); } } catch (e) {} } else { // alert('您使用的浏览器不支持全屏API或已被禁用'); } } catch (e) {} } $(function () { $('#bfree_list_programme_1').on('click', function () { programme.change('programme_1'); $('#bfree_bar_programme span').text('视力障碍'); bigtext.oc(); $('#bfreeNav>.lis>ul>li').eq(4).removeClass('active'); $('#bfreeNav>.lis>ul>li').eq(17).removeClass('active'); $('#bfreeNav>.lis>ul>li').eq(3).addClass('active'); $('#bfreeNav>.lis>ul>li').eq(5).addClass('active'); $('#bfreeNav>.lis>ul>li').eq(6).addClass('active'); }); $('#bfree_list_programme_2').on('click', function () { programme.change('programme_2'); $('#bfree_bar_programme span').text('听力障碍'); $('#bfreeNav>.lis>ul>li').eq(3).addClass('active'); $('#bfreeNav>.lis>ul>li').eq(4).addClass('active'); $('#bfreeNav>.lis>ul>li').eq(17).addClass('active'); $('#bfreeNav>.lis>ul>li').eq(5).removeClass('active'); $('#bfreeNav>.lis>ul>li').eq(6).removeClass('active'); bigtext.onoff = true; $('#BigText').hide(); }); $('#bfree_list_programme').on('click', function () { programme.change('programme'); $('#bfree_bar_programme span').text('推荐方案'); $('#bfreeNav>.lis>ul>li').eq(3).removeClass('active'); $('#bfreeNav>.lis>ul>li').eq(4).removeClass('active'); $('#bfreeNav>.lis>ul>li').eq(5).removeClass('active'); $('#bfreeNav>.lis>ul>li').eq(17).removeClass('active'); $('#bfreeNav>.lis>ul>li').eq(6).removeClass('active'); bigtext.onoff = true; $('#BigText').hide(); }); // alt+1点击 $('#nav_nav').on('click', function () { // speakonly.navs('nav'); turnToNav(49); }); // alt+2点击 $('#nav_window').on('click', function () { // speakonly.navs('window'); turnToNav(50); }); // alt+3点击 $('#nav_interactive').on('click', function () { // speakonly.navs('interactive'); turnToNav(51); }); // alt+4点击 $('#nav_main').on('click', function () { turnToNav(52); }); // alt+5点击 $('#nav_leftSide').on('click', function () { turnToNav(53); }); // alt+6点击 $('#nav_servis').on('click', function () { turnToNav(54); }); // alt+7 $('#nav_servis2').on('click', function () { turnToNav(55); }); $('#bfree_list_arrow_1').on('click', function () { cursor.changeArrow('arrow_1'); }); $('#bfree_list_arrow_2').on('click', function () { cursor.changeArrow('arrow_2'); }); $('#bfree_list_arrow_3').on('click', function () { cursor.changeArrow('arrow_3'); }); $('#bfree_list_arrow_4').on('click', function () { cursor.changeArrow('arrow_4'); }); $('#bfree_list_arrow_5').on('click', function () { cursor.changeArrow('arrow_5'); }); $('#bfree_bar_guides').on('click', function () { guides.toolbarGuides(); }); $('#bfree_bar_textMode').on('click', function () { textMode.textMode(); }); $('#bfree_bar_fontBig').on('click', function () { changeFont.fontBigger(); }); $('#bfree_bar_fontSmall').on('click', function () { changeFont.fontSmaller(); }); $('#bfree_list_highContrast_1').on('click', function () { highContrast.changeTheme('highContrast_1'); }); $('#bfree_list_highContrast_2').on('click', function () { highContrast.changeTheme('highContrast_2'); }); $('#bfree_list_highContrast_3').on('click', function () { highContrast.changeTheme('highContrast_3'); }); $('#bfree_list_highContrast_4').on('click', function () { highContrast.changeTheme('highContrast_4'); }); $('#bfree_list_highContrast_5').on('click', function () { highContrast.changeTheme('highContrast_5'); }); $('#bfree_bar_pageZoomIn').on('click', function () { pageZoom.increasePage(); }); $('#bfree_bar_pageZoomDe').on('click', function () { pageZoom.decreasePage(); }); //声音开关 $('#bfree_bar_soundOnOff, #bfree_spk_soundOnOff').on('click', function () { speak.sound.onoff(); }); // 语音指读 $('#bfree_bar_Pointer').on('click', function () { speak.pointer.onoff(); }); $('#bfree_bar_speakOnly, #bfree_spk_speakOnly').on('click', function () { speakonly.oc(); }); $('#bfree_bar_BigText, #bfree_spk_BigText').on('click', function () { bigtext.oc(); }); $('#bfree_BT_zt').on('click', function () { if (bigtext.zh == 's') { zh_tran('t', document.getElementById('BTcont')); //zh_tran("s",document.getElementById("bfree_BT_zt")); bigtext.zh = 't'; $('#bfree_BT_zt').html('简体'); } else { zh_tran('s', document.getElementById('BTcont')); //zh_tran("t",document.getElementById("bfree_BT_zt")); bigtext.zh = 's'; $('#bfree_BT_zt').html('繁體'); } //alert(bigtext.zh) }); $('#bfree_BT_s').on('click', function () { zh_tran('s', document.getElementById('BTcont')); bigtext.zh = 's'; }); $('#bfree_BT_t').on('click', function () { zh_tran('t', document.getElementById('BTcont')); bigtext.zh = 't'; }); $('#bigtext_hic_t1').on('click', function () { bigtext.highcontrast(0); }); $('#bigtext_hic_t2').on('click', function () { bigtext.highcontrast(1); }); $('#bigtext_hic_t3').on('click', function () { bigtext.highcontrast(2); }); $('#bigtext_hic_t4').on('click', function () { bigtext.highcontrast(3); }); $('#bigtext_hic_t5').on('click', function () { bigtext.highcontrast(4); }); // 刷新 $('#bfree_bar_refresh').on('click', function () { location.reload(); }); $('#bfree_bar_fullscreen').on('click', function () { if ($(this).hasClass('y_full')) { exitFullScreen(); $(this).removeClass('y_full'); } else { fullScreen(); $(this).addClass('y_full'); } }); $('#bfree_bar_speedUp').on('click', function (event) { if (parseInt(ssbParam.spd) >= 500) { return; } var tmpSpd = parseInt(ssbParam.spd) + 50; ssbParam.spd = '' + tmpSpd; }); $('#bfree_bar_speedDown').on('click', function (event) { if (parseInt(ssbParam.spd) <= -500) { return; } var tmpSpd = parseInt(ssbParam.spd) - 50; ssbParam.spd = '' + tmpSpd; }); // 监听iframe的src变化 var elemIframList = document.getElementsByTagName('iframe'); for (var i = 0; i < elemIframList.length; i++) { initIframeChange(elemIframList[i]); } function initIframeChange(elemIfram) { if (window.MutationObserver || window.webkitMutationObserver) { // chrome var callback = function (mutations) { mutations.forEach(function (mutation) { iframeSrcChanged(mutation.oldValue, mutation.target.src, mutation.target); }); }; if (window.MutationObserver) { var observer = new MutationObserver(callback); } else { var observer = new webkitMutationObserver(callback); } observer.observe(elemIfram, { attributes: true, attributeOldValue: true, }); } else if (elemIfram.addEventListener) { // Firefox, Opera and Safari elemIfram.addEventListener( 'DOMAttrModified', function (event) { iframeSrcChanged(event.prevValue, event.newValue, event.target); }, false ); } else if (elemIfram.attachEvent) { // Internet Explorer elemIfram.attachEvent('onpropertychange', function (event) { iframeSrcChanged(event.prevValue, event.newValue, event.target); }); } } function iframeSrcChanged(oldValue, newValue, iframeObj) { // 往新页面里头添加 鼠标样式 $(iframeObj).contents().find('body').css('cursor', $('body').css('cursor')); // iframe变动更新配色方案 top.highContrast.pageColor !== '' && top.Observer.fire('changeTheme', top.highContrast.pageColor); } // function bfreeInAllIframe() {} $(document).on('keydown', function (e) { var e = e || window.event; var tmpArr = [49, 50, 51, 52, 53, 54, 55]; var keyCode = e.altKey && e.keyCode; if (tmpArr.indexOf(keyCode) > -1) { turnToNav(keyCode); } }); function turnToNav(key) { var ccbPageTop = parseInt($('#ccbPage').css('margin-top')); var tnavtop = ''; if (key == 49) { // 跳转到导航alt+1(49) // tnavtop = $('#tnav .container ').offset().top; tnavtop = getElementTop($('#tnav .container')[0]) - ccbPageTop; $('#tnav .container ').css({ outline: '1px dashed black', }); $('#phd .container, #pnav .container, #pmain, #idxsidecontainer, #pft').css({ outline: 'none', }); } else if (key == 50) { // 跳转到横幅区alt+2(50) // tnavtop = $('#phd .container').offset().top; tnavtop = getElementTop($('#phd .container')[0]) - ccbPageTop; $('#phd .container').css({ outline: '1px dashed black', }); $('#tnav .container,#pnav .container, #pmain, #idxsidecontainer, #pft').css({ outline: 'none', }); } else if (key == 51) { // 跳转到菜单alt+3(51) // tnavtop = $('#pnav .container').offset().top - 10; tnavtop = getElementTop($('#pnav .container')[0]) - ccbPageTop; $('#pnav .container').css({ outline: '1px dashed black', }); $('#tnav .container,#phd .container, #pmain, #idxsidecontainer, #pft').css({ outline: 'none', }); } else if (key == 52 || key == 54) { // 跳转到菜单alt+4(52) alt+6 // tnavtop = $('#pmain').offset().top - 10; tnavtop = getElementTop($('#pmain')[0]) - ccbPageTop; $('#pmain').css({ outline: '1px dashed black', }); $('#tnav .container, #phd .container, #pnav .container, #idxsidecontainer, #pft').css({ outline: 'none', }); } else if (key == 53) { // 跳转到菜单alt+5(53) // tnavtop = $('#idxsidecontainer').offset().top - 10; tnavtop = getElementTop($('#idxsidecontainer')[0]) - ccbPageTop; $('#idxsidecontainer').css({ outline: '1px dashed black', }); $('#tnav .container, #phd .container, #pnav .container, #pmain, #pft').css({ outline: 'none', }); } else if (key == 55) { // 跳转到菜单alt+7(55) // tnavtop = $('#pft').offset().top - 10; tnavtop = getElementTop($('#pft')[0]) - ccbPageTop; $('#pft').css({ outline: '1px dashed black', }); $('#tnav .container, #phd .container, #pnav .container, #pmain, #idxsidecontainer').css({ outline: 'none', }); } $(window).scrollTop(tnavtop); } }); // 语音指读 var pointerC = 0; // IE9以下控制弹窗只弹出一次不使用语音指读 //测试地址 //var CCB_TTS_PLAY = 'http://128.128.98.38:1029/ttsyp/'; //播放地址 //var CCB_TTS_SERVE = 'ws://128.128.98.38:1029/https_tts_prx'; //服务地址 // 生产地址 var CCB_TTS_PLAY = 'https://voicesrv1.ccb.com:1030/ttsyp/'; //播放地址 var CCB_TTS_SERVE = 'wss://voicesrv1.ccb.com:1030/https_tts_prx'; //服务地址 var config = { vid: '65620', // 发音人id type: 1, // 语种 speed: 0, // 语速 }; var tts = { serveUrl: CCB_TTS_SERVE, // 服务url playUrl: CCB_TTS_PLAY, // 播放url speed: config.speed, type: config.type, vcn: config.vid, }; var session = new window.IFlyTtsSession({ serveUrl: tts.serveUrl, reconnection: true, reconnectionDelay: 999999999, }); var ssbParam = { vcn: '' + tts.vcn, type: '' + tts.type, spd: '' + tts.speed, }; /** * 文字合成语音 * @param {string} text 合成语音的文字 * @returns 合成后语音的文件路径 */ function getTTSURL(text) { if (typeof Promise !== 'function') { return; } return new Promise(function (resolve, reject) { session.start(ssbParam, text, function (err, obj) { // console.error(err); if (err) { var errMsg = ''; if (typeof err === 'object') { errMsg = err.toString(); } if (typeof err === 'string') { errMsg = err; } reject(errMsg); } else { var src = tts.playUrl + obj.audio_url; resolve(src); } }); }); }