// 取得用戶端的瀏覽器種類 function GetBrowserInfo() { var Browser = { Name:'', FullVersion:'', MajorVersion:'', AppName:'', UserAgent:'', Support:{} }; var nVer = navigator.appVersion; var nAgt = navigator.userAgent; var browserName = navigator.appName; var fullVersion = '' + parseFloat(navigator.appVersion); var majorVersion = parseInt(navigator.appVersion, 10); var nameOffset, verOffset, ix; // Microsoft Edge if ((verOffset=nAgt.indexOf(" Edge/")) != -1) { browserName = "MS Edge"; fullVersion = nAgt.substring(verOffset+6); } // In Opera 15+, the true version is after " OPR/" else if ((verOffset=nAgt.indexOf(" OPR/")) != -1) { browserName = "Opera"; fullVersion = nAgt.substring(verOffset+5); } // In older Opera, the true version is after "Opera" or after "Version" else if ((verOffset=nAgt.indexOf("Opera")) != -1) { browserName = "Opera"; fullVersion = nAgt.substring(verOffset+6); if ((verOffset=nAgt.indexOf("Version")) != -1) fullVersion = nAgt.substring(verOffset+8); } else if (!!window.opera) { browserName = "Opera"; fullVersion = 'Unknown'; } // In Chrome, the true version is after "Chrome" else if ((verOffset=nAgt.indexOf("Chrome")) != -1) { browserName = "Chrome"; fullVersion = nAgt.substring(verOffset+7); } // In Safari, the true version is after "Safari" or after "Version" else if ((verOffset=nAgt.indexOf("Safari"))!=-1) { browserName = "Safari"; fullVersion = nAgt.substring(verOffset+7); if ((verOffset=nAgt.indexOf("Version"))!=-1) fullVersion = nAgt.substring(verOffset+8); } // In Firefox, the true version is after "Firefox" else if ((verOffset=nAgt.indexOf("Firefox"))!=-1) { browserName = "Firefox"; fullVersion = nAgt.substring(verOffset+8); } // In MSIE, the true version is after "MSIE" in userAgent else if ((verOffset=nAgt.indexOf("MSIE")) != -1) { browserName = "MSIE"; fullVersion = nAgt.substring(verOffset+5); } else if ((verOffset=nAgt.indexOf(" rv:")) != -1) { browserName = "MSIE"; fullVersion = nAgt.substring(verOffset+4); } // In most other browsers, "name/version" is at the end of userAgent else if ((nameOffset=nAgt.lastIndexOf(' ')+1) < (verOffset=nAgt.lastIndexOf('/'))) { browserName = nAgt.substring(nameOffset,verOffset); fullVersion = nAgt.substring(verOffset+1); if (browserName.toLowerCase()==browserName.toUpperCase()) browserName = navigator.appName; } // trim the fullVersion string at semicolon/space if present if ((ix=fullVersion.indexOf(";"))!=-1) fullVersion=fullVersion.substring(0,ix); if ((ix=fullVersion.indexOf(" "))!=-1) fullVersion=fullVersion.substring(0,ix); majorVersion = parseInt(''+fullVersion, 10); if (isNaN(majorVersion)) { fullVersion = ''+parseFloat(navigator.appVersion); majorVersion = parseInt(navigator.appVersion,10); } Browser.Name = String(browserName); Browser.FullVersion = String(fullVersion); Browser.MajorVersion = String(majorVersion); Browser.AppName = String(navigator.appName); Browser.UserAgent = String(navigator.userAgent); // detect support function var oInput = document.createElement("input"); oInput.setAttribute("type", "color"); if (oInput.type != "color") { Browser.Support.InputColor = false; } else { Browser.Support.InputColor = true; } delete oInput; return Browser; } // 顯示廣告物件 function RepaintAD() { if ('adPAGE_LEFT' in window) { var oAD = document.getElementById('adPAGE_LEFT'); if (oAD.style.display != '') { if (GetPageHeight() >= 2090) { oAD.style.display = ''; if (typeof adPAGE_LEFT_SHOW_DFP === "function") { adPAGE_LEFT_SHOW_DFP(); } } } } if ('adPAGE_END' in window) { var oAD = document.getElementById('adPAGE_END'); if (oAD.style.display != '') { if (GetPageHeight() >= 1380) { oAD.style.display = ''; if (typeof adPAGE_END_SHOW_DFP === "function") { adPAGE_END_SHOW_DFP(); } } } } } // 設定浮動廣告位置 function ShowStickyAD(obj, yOffset) { if (obj.style.position != 'relative') return; var yLimit = obj.parentElement.offsetHeight - obj.offsetHeight - yOffset; var yTop = PageYOffset() - RealPosY(obj.parentElement) - yOffset; if (yTop > 0 && yTop < yLimit) { if (obj.style.top != String(yTop) + 'px') { obj.style.top = String(yTop+(getCookie('FLOAT_TITLE_BAR')=='T'?32:0)) + 'px'; } } else if (yTop > 0 && yTop >= yLimit) { if (obj.style.top != String(yLimit) + 'px') { obj.style.top = String(yLimit) + 'px'; } } else if (obj.style.top != '0px') { obj.style.top = '0px'; } setTimeout(function(){ ShowStickyAD(obj, yOffset); }, 100); } // 取得網頁實際高度 function GetPageHeight() { return Math.max(document.body.scrollHeight, document.body.offsetHeight, document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight); } // 修改row的底色 function ChgBGColor(id, color) { for (var i=0;i/gi,'<\/font>'); while (s.search(/= 0) { i = s.search(/',i); s1 = s.substring(i,j+1); if (s1.search(/ class=/i) >= 0 && s1.search(/link_/i) >= 0) { if (s1.search(/link_red/i) >= 0) s2 = '' else if (s1.search(/link_yellow/i) >= 0) s2 = '' else if (s1.search(/link_green/i) >= 0) s2 = '' else if (s1.search(/link_blue/i) >= 0) s2 = '' else if (s1.search(/link_gray/i) >= 0) s2 = '' else if (s1.search(/link_orange/i) >= 0) s2 = '' else if (s1.search(/link_white/i) >= 0) s2 = '' else s2 = ''; } else { s2 = ''; } s = s.substring(0,i) + s2 + s.substring(j+1,s.length); } // Remove event tag s = s.replace(/onmouseout=/gi,'xxx='); s = s.replace(/onmouseover=/gi,'xxx='); // 清除重覆的thead s = s.replace(//i,''); s = s.replace(/<\/thead>/i,''); while (s.search(/= 0 && s.search(/<\/thead>/i) >= 0) { i = s.search(//i) + 8; s = s.substring(0,i) + s.substring(j,s.length); } // Add html tag // s = '' + // '' + // '' + // '' + // '' + s + ''; s = '' + s + ''; // Save file if(window.navigator.msSaveOrOpenBlob) { var blobObject = new Blob(['\uFEFF'+s],{type: 'text/htm;charset=utf-8;'}); window.navigator.msSaveOrOpenBlob(blobObject, sFileName); } else if (navigator.appName != 'Microsoft Internet Explorer') { var blobObject = new Blob(['\uFEFF'+s],{type: 'text/htm;charset=utf-8;'}); if ('export2html_A' in window) { var object = document.getElementById('export2html_A'); } else { var object = document.createElement('A') object.setAttribute('id','export2html_A') object.target = '_blank'; object.style.display = 'none'; document.body.appendChild(object); } object.href = URL.createObjectURL(blobObject); object.download = sFileName; object.click(); } else { if ('export2html_B' in window) { var object = document.getElementById('export2html_B'); } else { var object = document.createElement('IFRAME'); object.setAttribute('id','export2html_B'); object.style.display = 'none'; document.body.appendChild(object); } if (object.contentDocument) { var doc = object.contentDocument; } else if (object.contentWindow) { var doc = object.contentWindow.document; } else { alert('很抱歉,您的瀏覽器無法支援此匯出功能!'); return; } doc.open('application/htm','replace'); doc.charset = 'utf-8'; doc.write(s); doc.close(); doc.execCommand('SaveAs', null, sFileName); } } function export2csv(s, sFileName) { if(window.navigator.msSaveOrOpenBlob) { var blobObject = new Blob(['\uFEFF'+s],{type: 'text/csv;charset=utf-8;'}); window.navigator.msSaveOrOpenBlob(blobObject, sFileName); } else if (navigator.appName == 'Microsoft Internet Explorer') { if ('export2csv_B' in window) { var object = document.getElementById('export2csv_B'); } else { var object = document.createElement('IFRAME'); object.setAttribute('id','export2csv_B'); object.style.display = 'none'; document.body.appendChild(object); } if (object.contentDocument) { var doc = object.contentDocument; } else if (object.contentWindow) { var doc = object.contentWindow.document; } else { alert('很抱歉,您的瀏覽器無法支援此CSV匯出功能!'); return; } doc.open('application/csv','replace'); doc.charset = 'utf-8'; doc.write(s); doc.close(); doc.execCommand('SaveAs', null, sFileName); } else { var blobObject = new Blob(['\uFEFF'+s],{type: 'text/csv;charset=utf-8;'}); if ('export2csv_A' in window) { var object = document.getElementById('export2csv_A'); } else { var object = document.createElement('A') object.setAttribute('id','export2csv_A') object.target = '_blank'; object.style.display = 'none'; document.body.appendChild(object); } object.href = URL.createObjectURL(blobObject); object.download = sFileName; object.click(); } } function IsNumeric(s) { return (s != null && String(s) != '' && !isNaN(s)?true:false); } function IsDate(s) { return (s != null && new Date(s) !== "Invalid Date" && !isNaN(new Date(s))) ? true : false; } function escape2(s) { var result = escape(s); result = String(result).replace(/\+/g,'%2B'); return result; } function WeekName(d) { var result = ''; if (IsDate(d)) { var i = new Date(d).getDay(); if (i == 0) { result = '日'; } else if (i == 1) { result = '一'; } else if (i == 2) { result = '二'; } else if (i == 3) { result = '三'; } else if (i == 4) { result = '四'; } else if (i == 5) { result = '五'; } else if (i == 6) { result = '六'; } } return result; } function DisableSelect() { var s = document.body.className; if (s.indexOf('disable_select') == -1) { document.body.className = s + (s==''?'':' ') + 'disable_select'; } } function EnableSelect() { var s = document.body.className; s = String(s).replace('disable_select',''); s = String(s).replace(' ',' '); document.body.className = String(s).trim(); }