1 2 var ua = navigator.userAgent.toLowerCase(), 3 platform = navigator.platform.toLowerCase(), 4 UA = ua.match(/(opera|ie|firefox|chrome|version)[\s\/:]([\w\d\.]+)?.*?(safari|version[\s\/:]([\w\d\.]+)|$)/) || [null, 'unknown', 0], 5 mode = UA[1] == 'ie' && document.documentMode; 6 var sUserAgent=ua; 7 var BR = { 8 extend: Function.prototype.extend, 9 name: (UA[1] == 'version') ? UA[3] : UA[1], 10 version: mode || parseFloat((UA[1] == 'opera' && UA[4]) ? UA[4] : UA[2]), 11 Platform: { 12 name: ua.match(/ip(?:ad|od|hone)/) ? 'ios' : (ua.match(/(?:webos|android|bada|symbian|palm|blackberry)/) || platform.match(/mac|win|linux/) || ['other'])[0] 13 }, 14 Features: { 15 xpath: !!(document.evaluate), 16 air: !!(window.runtime), 17 query: !!(document.querySelector), 18 json: !!(window.JSON) 19 }, 20 Plugins: {}, 21 isPad : /pad/.test(sUserAgent) || /ipod/.test(sUserAgent), 22 isIPhone : /iphone/.test(sUserAgent), 23 isWinPhone : /wpdesktop/.test(sUserAgent), 24 isBlackBerry:/blackberry/.test(sUserAgent), 25 //isMobile : /mobile/.test(sUserAgent) || /phone/.test(sUserAgent) 26 isMobile :(function() { 27 var check = false; 28 (function(a,b){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check = true})(navigator.userAgent||navigator.vendor||window.opera); 29 return check||/mobile/.test(sUserAgent) || /phone/.test(sUserAgent); 30 })() 31 }; 32 33 34 35 //This function is invoked by SWFObject once the <object> has been created 36var callback = function (e){ 37 //Only execute if SWFObject embed was successful 38 if(!e.success || !e.ref){ 39 // alert("No Flash Supported"); 40 if('flipbuilder_hasMobile'=='flipbuilder_'+'hasMobile'){ 41 delayToShowVersion("mobile/index.html") 42 // window.location = "mobile/index.html"; 43 }else if(hasBasicHtml){ 44 45 delayToShowVersion("files/basic-html/index.html"); 46 }else{//no sutable fla 47 48 } 49 // setTimeout("shutDownLoader()", 1000); 50 return false; 51 } 52 53}; 54 55 56 // BR.Platform.name ='ios'; 57 // if(BR.Platform.name == 'ios'||BR.Platform.name == 'android') window.location = "mobile/index.html"; 58 // if( BR.Platform.name == 'webos' || BR.Platform.name == 'bada' || BR.Platform.name == 'symbian' || BR.Platform.name == 'palm' || BR.Platform.name == 'blackberry') window.location = dir+"assets/seo/page1.html"; 59 60 61 62 function getURLParam(strParamName){ 63 var strReturn = ""; 64 var strHref = window.location.href; 65 if ( strHref.indexOf("?") > -1 ){ 66 var strQueryString = strHref.substr(strHref.indexOf("?"));//.toLowerCase(); 67 var aQueryString = strQueryString.split("&"); 68 for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){ 69 //if ( aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 ){ 70 if ( aQueryString[iParam].indexOf(strParamName + "=") > -1 ){ 71 var aParam = aQueryString[iParam].split("="); 72 strReturn = aParam[1]; 73 break; 74 } 75 } 76 } 77 return unescape(strReturn); 78 } 79 var pageIndex=getURLParam('pageIndex'); 80 if(!pageIndex){ 81 pageIndex=-1; 82 } 83 var alwaysShowBookMark=getURLParam('alwaysShowBookMark'); 84 if(!alwaysShowBookMark){ 85 alwaysShowBookMark=false; 86 } 87 var alwaysShowThumbnails=getURLParam('alwaysShowThumbnails'); 88 if(!alwaysShowThumbnails){ 89 alwaysShowThumbnails=false; 90 } 91 var alwaysMinimeStyle=getURLParam('alwaysMinimeStyle'); 92 if(!alwaysMinimeStyle){ 93 alwaysMinimeStyle=false; 94 } 95 var currentHTMLURL= window.encodeURIComponent(window.location.href); 96 if(!currentHTMLURL){ 97 currentHTMLURL=''; 98 } 99 100 var pice=getURLParam('pice'); 101 if(!pice){ 102 pice=false; 103 } 104 var lang=getURLParam('lang'); 105 if(!lang){ 106 lang="NONE"; 107 } 108 var itemValues=getURLParam('itemValues'); 109 if(!itemValues){ 110 itemValues="NONE"; 111 } 112 113 114 115 116 117 118 <!-- For version detection, set to min. required Flash Player version, or 0 (or 0.0.0), for no version detection. --> 119 var swfVersionStr = "10.0.0"; 120 <!-- To use express install, set to playerProductInstall.swf, otherwise the empty string. --> 121 var xiSwfUrlStr = ""; 122 var flashvars = {pageIndex:pageIndex,alwaysShowBookMark:alwaysShowBookMark,alwaysShowThumbnails:alwaysShowThumbnails, 123 alwaysMinimeStyle:alwaysMinimeStyle,currentHTMLURL:currentHTMLURL,pice:pice,lang:lang,itemValues:itemValues}; 124 var params = {}; 125 params.quality = "high"; 126 params.bgcolor = "#ffffff"; 127 params.allowscriptaccess = "always"; 128 params.allowfullscreen = "true"; 129 params.allowFullScreenInteractive = "true"; 130 params.wmode = "transparent"; 131 var attributes = {}; 132 attributes.id = "FlipBookBuilder"; 133 attributes.name = "FlipBookBuilder"; 134 attributes.align = "middle"; 135 136 137var hasMobileVersion=true; 138var hasBasicHtmlVersion=true; 139 140var callback = function (e){ 141 //Only execute if SWFObject embed was successful 142 if(!e.success || !e.ref){ // alert("No Flash Supported"); 143 document.write("<div style='font-family:arial;font-size:14px;padding:50px;background-color:#e5e5e5;color:#666666;position:absolute;width:500px; left:50%; top:50%; transform:translate(-50%,-50%);'><h2 style='color:#333333;margin-top:0;font-size:1.8em'>Sorry , need flash player. </h2><a style='color:#1155cc;' href='http://www.adobe.com/go/getflashplayer'>Get Adobe Flash Player<\/a> it's possible to <a id='linkSEO' style='color:#1155cc;line-height:1.6em;' href='files/basic-html/index.html'>view a simplified version of the book on any device</a>, or you can view the mobile version <a href='mobile/index.html' style='color:#1155cc'> here </a></div>" ); 144 return false; 145 } 146}; 147 148var forceOld=false; 149function detectAndGoVersion(loadType){ 150 if(forceOld){ 151 swfobject.embedSWF( 152 "book.swf", "flashContent", 153 "100%", "100%", 154 swfVersionStr, xiSwfUrlStr, 155 flashvars, params, attributes); 156 swfobject.createCSS("#flashContent", "display:block;text-align:left;"); 157 return; 158 } 159 var pageIndex=getURLParam('pageIndex'); 160 if(!pageIndex){ 161 pageIndex=-1; 162 } 163 if(BR.isMobile){
164 if(hasMobileVersion && !isBelowIE8()){ 165 166 if(pageIndex!=-1){ 167 window.location = "mobile/index.html#p="+pageIndex; 168 }else{ 169 window.location = "mobile/index.html"+(window.location.hash?window.location.hash:''); 170 //window.location = "mobile/index.html"; 171 } 172 }else if(hasBasicHtmlVersion){ 173 window.location ='files/basic-html/index.html'; 174 }else { 175 swfobject.embedSWF( 176 "book.swf", "flashContent", 177 "100%", "100%", 178 swfVersionStr, xiSwfUrlStr, 179 flashvars, params, attributes,callback); 180 swfobject.createCSS("#flashContent", "display:block;text-align:left;"); 181 } 182 }else{ 183 loadType = (window.location.href.match(/^file:/) && swfobject.getFlashPlayerVersion()["major"] >= 24 && hasMobileVersion) ? 2 : loadType; 184 if(loadType==2){ 185 if(hasBasicHtmlVersion && isBelowIE8()){ 186 window.location ='files/basic-html/index.html'; 187 return; 188 } 189 if(hasMobileVersion){ 190 if(pageIndex!=-1){ 191 window.location = "mobile/index.html#p="+pageIndex; 192 }else{ 193 window.location = "mobile/index.html"+(window.location.hash?window.location.hash:''); 194 //window.location = "mobile/index.html"; 195 } 196 return; 197 } 198 } 199 swfobject.embedSWF( 200 "book.swf", "flashContent", 201 "100%", "100%", 202 swfVersionStr, xiSwfUrlStr, 203 flashvars, params, attributes,callback); 204 swfobject.createCSS("#flashContent", "display:block;text-align:left;"); 205 } 206} 207detectAndGoVersion(2); 208function isBelowIE8(){ 209 var $ = window; 210 var sUserAgent = navigator.userAgent.toLowerCase(); 211 $.browser = new Object(); 212 $.browser.msie = /msie/.test(sUserAgent) || /trident/.test(sUserAgent) || /edge/.test(sUserAgent); 213 $.browser.edge = /edge/.test(sUserAgent); 214 $.browser.version = 0; 215 if($.browser.msie){ 216 217 var aIEWithVersion = sUserAgent.match(/msie\s?\d+\.0/); 218 if(aIEWithVersion == null){ 219 220 aIEWithVersion = sUserAgent.match(/trident\/\d+\.0/); 221 if(aIEWithVersion != null && aIEWithVersion.length > 0){ 222 223 var sTridentWithVersion = aIEWithVersion[0]; 224 var iVersion = parseInt(sTridentWithVersion.replace("trident/","")); 225 226 $.browser.version = iVersion + 4; 227 } else{ 228 // edge/12.000 229 aIEWithVersion = sUserAgent.match(/edge\/\d+\.0/); 230 if(aIEWithVersion != null && aIEWithVersion.length > 0){ 231 232 var sTridentWithVersion = aIEWithVersion[0]; 233 var iVersion = parseInt(sTridentWithVersion.replace("edge/","")); 234 235 $.browser.version = iVersion; 236 } 237 } 238 }else{ 239 240 var sIEWithVersion = aIEWithVersion[0]; 241 var iVersion = parseInt(sIEWithVersion.replace("msie","")); 242 $.browser.version = iVersion; 243 } 244 } 245 246 if(!$.browser.edge && $.browser.msie && $.browser.version < 8) return true; 247 return false; 248}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.