1 2 3<!DOCTYPE html> 4<html lang="zh-Hant-TW"> 5<head> 6 <meta charset="utf-8" /> 7 <meta content="width=device-width, initial-scale=1.0" name="viewport"> 8 <meta http-equiv="X-UA-Compatible" content="IE=edge; charset=utf-8" /> 9 <meta name='description' content='ç°çæè®æ¸ç¶²è·¯æ¸åºï¼é»åæ¸è´éæåãèªå·±é±è®ï¼èµ°å°åªè£¡é½è½è®ã'><meta name='keywords' content='䏿é»åæ¸, ç¹é«é»åæ¸, é»åéèª, è¯è䏿é»åæ¸, è¯æé»åæ¸æå, 忏餍é»åæ¸, ç·ä¸é±è®'><meta property='og:title' content='ãé»åæ¸å æ/æåè´éå è²»å æã - ç°çæè®æ¸ '> <meta property='og:description' content='ç°çæè®æ¸ï¼ç¾è¬ç¨®å°æ¥å¸è¡ãæç§èç¨èæ¢é·æ¸çç¹ç°¡ä¸å¤æç¶²è·¯æ¸åºãæä¾å¤å æ¸ä½å §å®¹æåï¼æ»¿è¶³å ¨æ¹ä½æ¾æ¸ãè³¼æ¸é«é©ï¼ä»¥ç¥èè±å¯çæ´»ã'><meta property='og:type' content='website'><meta property='og:url' content='https://www.iread.tw/'><meta property='og:image' content='Content/images/iRead_640Logo.jpg'> 10 11 12 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 13 14 <title> ãé»åæ¸å æ/æåè´éå è²»å æã - ç°çæè®æ¸ </title> 15 16 17
17<script>
vendor: 383 bytes, lines 17-19
17 18 (function (i, s, o, g, r, a, m) { i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () { (i[r].q = i[r].q || []).push(arguments) }, i[r].l = 1 * new Date(); a = s.createElement(o), m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m) })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga'); 19 ga('create', '
19UA-15412014-1
vendor: 47 bytes, lines 19-20
19', 'iread.com.tw'); ga('send', 'pageview'); 20
20</script>
20 21 <!-- Favicons--> 22 <link href="/Content/images/favicon.png" rel="icon"> 23 <link href="/Content/images/apple-touch-icon.png" rel="apple-touch-icon"> 24 25 <!-- Google Fonts --> 26 <link href="https://fonts.googleapis.com/css?family=Open+Sans:Lato:300,400,700,300italic,400italic|Raleway:400,300,700" rel="stylesheet"> 27 <!-- Main Stylesheet File --> 28 29 <link type="text/css" href="/Content/css/style.css?v=20260706" rel="stylesheet"> 30 <link type="text/css" href="/Content/css/stylev2.css?v=20260706" rel="stylesheet"> 31 <!--sliderå¥ä»¶--> 32 <link rel="stylesheet" type="text/css" href="/Content/css/slick/slick.css" /> 33 <link rel="stylesheet" type="text/css" href="/Content/css/slick/slick-theme.css" /> 34 35 36 37 <link type="text/css" href="/Content/css/order.css?v=20260706" rel="stylesheet"> 38 <link type="text/css" href="/Content/css/member.css?v=20260706" rel="stylesheet"> 39 <link type="text/css" href="/Content/css/member_eb.css?v=20260706" rel="stylesheet"> 40 41 42 43 <!-- jacascript --> 44
44<script type="text/javascript" src="/Content/js/jquery-3.6.0.min.js"></script>
44 45
45<script type="text/javascript" src="/Content/js/script.js?v=20260706"></script>
45 46 47 <!--slider--> 48
48<script type="text/javascript" src="/Content/js/slick/slick.js" charset="utf-8"></script>
48 49 50
50<script type="text/javascript" src="/Content/js/Airiti.Common.js?v=20260706"></script>
50 51
51<script type="text/javascript" src="/Content/js/airiti.js?v=20260706"></script>
51 52
52<script type="text/javascript" src="/Content/js/airiti.iRead.js?v=20260706"></script>
52 53
53<script type="text/javascript" src="/Content/js/ga.js?v=20260706"></script>
53 54 55 <style> 56 .navBtn-arrowUP { 57 transform: rotate( 0.5turn ); 58 margin-bottom: -5px; 59 } 60 </style> 61 62
62<script> 63 //Razorå¯«æ³ 64 65 var IsHome = false; 66 var initWidth = $(window).width(); 67 var initHeight = $(window).height(); 68 69 var pMemberNo = ''; 70 71 if ("False" == "True") { 72 73 setInterval(function () { 74 $.ajax({ 75 url: '/Home/ajaxCheckSession', 76 success: function (response) { 77 if (response == 'Timeout') { 78 window.location = '/Account/Login?msg=é£ç·é¾æï¼è«éæ°ç»å ¥'; 79 } 80 } 81 }); 82 }, 20 * 60 * 1000 + 1000); 83 window.dataLayer = window.dataLayer || []; 84 window.dataLayer.push({ 85 'event': 'login', 86 'userId': pMemberNo 87 }); 88 } 89 90 91 var _isLogin = "False"; 92 var _sysDate = '20260925'; 93 var _num = 0; 94 var _keyCount = 0; 95 var _autoCompleteCount = 0; 96 var _keyword = ""; 97 var _autoCompleteID = ""; 98 var _isTriggerClick = ""; 99 var _isShow = 'True'; 100 var _isKeyup = "true"; 101 var _CatLoaded = "false"; 102 var _F_CatLoaded = "false"; 103 var _cateStatus = 'close'; 104 var _f_cateStatus = 'close'; 105 var _ProdsArray = new Array(); 106 var _EProdsArray = new Array(); 107 var _keywords = new Array(); 108 var _isCheckTopBanner = false; 109 var _topBannerData = null; 110 111 112 //#region 113 function keymove(num) { 114 _keyCount = _keyCount + num; 115 if (_keyCount < 1) { 116 _keyCount = 0; 117 } else if (_keyCount >= _autoCompleteCount) { 118 _keyCount = _autoCompleteCount; 119 } 120 121 if (_isTriggerClick == "true") { 122 $('#autoComplete').removeClass("clicked"); 123 $('#autoComplete').find("li[data-number='" + _keyCount + "']").trigger("click"); 124 } 125 126 $('#keyCount').text(_keyCount); 127 } 128 //#endregion 129 130 //#region 131 function changeCatType(catType, itemId, callback) { 132 if (itemId == "A") { 133 if (_CatLoaded == "true") { 134 callback(); 135 } 136 else { 137 $.ajax({
138 url: '/Home/ajaxCategories', 139 data: { 'CatType': catType, 'level': '', 'ItemId': itemId }, 140 success: function (response) { 141 var json = JSON.parse(response); 142 var level1 = json.ReturnData.filter(function (obj) { 143 144 return obj.level == 1; 145 }); 146 147 148 var strHTML = ""; 149 for (var i = 0; i < level1.length; i++) { 150 var n = 0; 151 var CatName = level1[i].CatName; 152 var CatId = level1[i].CatId; 153 if (i < 9) { 154 n = '0' + (i + 1); 155 } else { 156 n = (i + 1); 157 } 158 159 strHTML += ' <li> '; 160 strHTML += ' <input type="radio" name="category" checked=""> '; 161 strHTML += ' <span id="categorySubTitle' + CatId + '"> '; 162 strHTML += ' <a href="/Home/Index?CatId=' + CatId + '" data-id="' + CatId + '" title="' + CatName + '"><h3>' + CatName + '</h3></a> '; 163 strHTML += ' </span> '; 164 165 var level2 = json.ReturnData.filter(function (obj) { 166 return obj.level == 2 && obj.ParentCatId == CatId; 167 }); 168 169 strHTML += ' <ul class="sub-category" id="categoryList_wrap' + CatId + '"> '; 170 strHTML += ' <li class="mobile"> '; 171 strHTML += ' <a href="/Home/Index?CatId=' + CatId + '" data-id="' + CatId + '" title="ç±é' + CatName + '">ç±é' + CatName + '</a> '; 172 strHTML += ' </li> '; 173 for (var j = 0; j < level2.length; j++) { 174 strHTML += ' <li "> '; 175 strHTML += ' <a href="/CategoryProds/Index?MainCat=' + level2[j].CatId + '&CatName=' + level2[j].CatName + '" class="level2Cate" data-id="' + level2[j].CatId + '">' + level2[j].CatName + '</a> '; 176 strHTML += ' </li> '; 177 } 178 strHTML += ' </ul> '; 179 strHTML += ' </li> '; 180 } 181 _CatLoaded = "true"; 182 $('#categoryFilter_wrap').html(strHTML).promise().done(function () { 183 184 }); 185 186 callback(); 187 }, 188 error: function () { 189 190 } 191 }); 192 } 193 } 194 else { 195 if (_F_CatLoaded == "true") { 196 callback(); 197 } 198 else { 199 $.ajax({
200 url: '/Home/ajaxCategories', 201 data: { 'CatType': catType, 'level': '2', 'ItemId': itemId }, 202 success: function (response) { 203 var json = JSON.parse(response); 204 205 206 var strHTML = ""; 207 for (var i = 0; i < json.ReturnData.length; i++) { 208 var n = 0; 209 var CatName = json.ReturnData[i].CatName; 210 var CatId = json.ReturnData[i].CatId; 211 if (i < 9) { 212 n = '0' + (i + 1); 213 } else { 214 n = (i + 1); 215 } 216 217 strHTML += ' <li> '; 218 strHTML += ' <input type="radio" name="category-foreign"> '; 219 strHTML += ' <span> '; 220 strHTML += ' <a href="/Home/Index?CatId=' + CatId + '" ><h3>' + CatName + '</h3></a> '; 221 strHTML += ' <i class="count"></i> '; 222 strHTML += ' </span> '; 223 strHTML += ' </li> '; 224 } 225 _F_CatLoaded = "true"; 226 227 $('#CategoryForeign').html(strHTML).promise().done(function () { 228 }); 229 230 callback(); 231 }, 232 error: function () { 233 234 } 235 }); 236 } 237 } 238 } 239 //#endregion 240 241 function closeCate() { 242 $('#catBtn > li').removeClass('navBtnActive'); 243 $('#catBtn .navBtn-arrow').removeClass('navBtn-arrowUP'); 244 _cateStatus = 'close'; 245 } 246 247 //#region 248 function openCate(pCatId) { 249 250 var CatListWrap = $('#categoryList_wrap' + pCatId); 251 var showClass = "categoryList_wrapFedin"; 252 if (document.body.clientWidth <= 768) { 253 showClass = "categoryList_wrap-show"; 254 } 255 if (CatListWrap.hasClass(showClass)) { 256 $('#catArea').addClass("collapse"); 257 CatListWrap.removeClass(showClass); 258 $('#categorySubTitle' + pCatId).removeClass("categorySubTitle-atv").siblings('.categorySubTitle_toggle').children(".toggleBtn").removeClass('toggleBtn_down').addClass("toggleBtn_up"); 259 } 260 else { 261 $('#catArea').removeClass("collapse"); 262 $('#catArea ul.categoryList_wrap').removeClass(showClass); 263 $('#catArea div.toggleBtn_down').removeClass('toggleBtn_down').addClass("toggleBtn_up"); 264 CatListWrap.addClass(showClass); 265 $('h3.categorySubTitle').removeClass("categorySubTitle-atv") 266 $('#categorySubTitle' + pCatId).addClass("categorySubTitle-atv").siblings('.categorySubTitle_toggle').children(".toggleBtn_up").removeClass('toggleBtn_up').addClass("toggleBtn_down"); 267 } 268 } 269 //#endregion 270 271 //#region 272 function getCartItems(BizType) { 273 $.ajax({
274 url: '/Cart/getCartItems', 275 data: { 'pBizType': BizType }, 276 async: false, 277 success: function (response) { 278 if (BizType == "3") { 279 _EProdsArray = new Array(); 280 } 281 else { 282 _ProdsArray = new Array(); 283 } 284 285 var cartDetail = JSON.parse(response); 286 287 if (cartDetail.ReturnData.length == undefined) { 288 289 290 var propertyNames = Object.getOwnPropertyNames(cartDetail.ReturnData); 291 if (BizType == "3") { 292 _ProdsArray = propertyNames; 293 } 294 else { 295 _EProdsArray = propertyNames; 296 } 297 } else { 298 299 for (var i = 0; i < cartDetail.ReturnData.length; i++) { 300 if (BizType == "3") { 301 _EProdsArray.push(cartDetail.ReturnData[i].ProdId); 302 } 303 else { 304 _ProdsArray.push(cartDetail.ReturnData[i].ProdId); 305 } 306 } 307 } 308 showCartItemCount(); 309 }, 310 error: function () { 311 } 312 }) 313 } 314 //#endregion 315 316 //#region 317 function addCartItem(prodId, qty,BizType, callback,errcallback) { 318 $.ajax({
319 url: '/Cart/addCartItem', 320 data: { 'ProdId': prodId, 'Qty': qty, 'pBizType': BizType}, 321 success: function (response) { 322 getCartItems(BizType); 323 if (callback != null) { 324 callback(); 325 } 326 } , 327 error: function () { 328 if (errcallback != null) { 329 errcallback(); 330 } 331 } 332 }); 333 } 334 //#endregion 335 336 337 //#region 338 function addCartGiftItem(prodId, qty, BizType, callback, errcallback) { 339 $.ajax({ 340 url: '/Cart/addCartGiftItem', 341 data: { 'ProdId': prodId, 'Qty': qty, 'pBizType': BizType }, 342 success: function (response) { 343 getCartItems(BizType); 344 if (callback != null) { 345 callback(); 346 } 347 }, 348 error: function () { 349 if (errcallback != null) { 350 errcallback(); 351 } 352 } 353 }); 354 } 355 //#endregion 356 357 358 //#region 359 function delCartItem(prodId, BizType, callback, errcallback) { 360 $.ajax({
361 url: '/Cart/delCartItem', 362 data: { 'ProdId': prodId, 'pBizType': BizType }, 363 success: function (response) { 364 getCartItems(BizType); 365 if (callback != null) { 366 callback(); 367 } 368 }, 369 error: function () { 370 if (errcallback != null) { 371 errcallback(); 372 } 373 } 374 }); 375 } 376 //#endregion 377 378 function showCartItemCount() { 379 let icount = 0; 380 381 if (_ProdsArray != null && _ProdsArray.length >0) { 382 icount = _ProdsArray.length; 383 } 384 if (_EProdsArray != null && _EProdsArray.length > 0) { 385 icount += _EProdsArray.length; 386 } 387 388 if (icount > 0) { 389 390 $('#headerCartCount').text(icount); 391 } 392 else { 393 394 $('#headerCartCount').text("0"); 395 } 396 397 } 398 399 //#region 400 function ajaxSetIsShowSession(status) { 401 $.ajax({ 402 type: "POST", 403 url: '/FAQ/ajaxSetIsShowSession', 404 data: { 'status': status }, 405 success: function (response) { 406 407 } 408 }) 409 } 410 //#endregion 411 412 function getShowDiscount(pDiscount) { 413 var discount =""; 414 415 try { 416 discount = String(pDiscount); 417 if (pDiscount < 100) { 418 if (pDiscount >= 10) { 419 if (discount.substring(1, 2) == "0") { 420 discount = discount.substring(0, 1); 421 } 422 } 423 else { 424 discount = "0." + discount; 425 } 426 } 427 else { 428 discount = "100"; 429 } 430 } 431 catch (err) { 432 discount = pDiscount; 433 } 434 return discount; 435 } 436 437 function getShowAmount(pAmount) { 438 var amount = ""; 439 440 try { 441 amount = String(pAmount); 442 if (pAmount > 1000) { 443 amount = amount.substring(0, amount.length - 3) + "," + amount.slice(-3); 444 } 445 } 446 catch (err) { 447 amount = pAmount; 448 } 449 return amount; 450 } 451 452 function toBookcase(pGroup) { 453 location.href = "/Account/toBookcase" + (pGroup == undefined ? "" :"?BCGroup=" + pGroup); 454 } 455 456 function saveFav(ProdId, istatus, srcobj) { 457 458 if (_isLogin == 'True') { 459 let requestVerificationToken = $('input[name="__RequestVerificationToken"]', $('#__AjaxAntiForgeryForm')).val(); 460 $.ajax({
461 type: "POST", 462 url: '/Cart/saveMyWishList', 463 data: { 464 'prodID': ProdId, 465 'ItemStatus': istatus, 466 __RequestVerificationToken: requestVerificationToken 467 }, 468 success: function (response) { 469 470 let result = JSON.parse(response); 471 if (result == '1') { 472 if (istatus == "P") { 473 srcobj.addClass("favoritesWrap-atv"); 474 } 475 else { 476 srcobj.removeClass("favoritesWrap-atv"); 477 } 478 } 479 else { 480 alert("èçé¯èª¤"); 481 } 482 }, 483 error: function () { 484 alert("é¯èª¤"); 485 } 486 }); 487 } 488 else { 489 location.href = "/Account/Login"; 490 } 491 492 } 493 494 function openViewer(EProdId, IsPreview) { 495 let requestVerificationToken = $('input[name="__RequestVerificationToken"]', $('#__AjaxAntiForgeryForm')).val(); 496 $.ajax({ 497 type: "POST", 498 url: '/Detail/getViewerPath', 499 data: { 500 'pEProdId': EProdId, 501 'pIsPreview': IsPreview, 502 __RequestVerificationToken: requestVerificationToken 503 }, 504 success: function (response) { 505 if (response!= '' && response.substring(0, 3) != 'ERR') { 506 window.open(response); 507 } 508 else { 509 alert("ç¡æ³éå試é±"); 510 } 511 }, 512 error: function () { 513 alert("é¯èª¤"); 514 } 515 }); 516 } 517 518 function goToDetail(ProdId, biztype) { 519 520 let url = "/Detail/ProdDetail/" + ProdId; 521 if (biztype != undefined && biztype != "") 522 url += "?biztype=" + biztype; 523 location.href = url; 524 } 525 526 function checkEbookPreview(objProd, MemAgeType) { 527 528 try { 529 if (objProd.EbookIsPreview == "Y" && !(objProd.ContentDegree == "4" && MemAgeType != "A")) { 530 return true; 531 } 532 } 533 catch (e) { 534 console.log(e); 535 } 536 537 return false; 538 } 539 540 //#region 541 function getMemberKeywords() { 542 if (_isLogin == 'True') { 543 544 $.ajax({
545 url: '/home/getMemberKeywords', 546 async: true, 547 success: function (response) { 548 549 var memKeywords = JSON.parse(response); 550 _keywords = memKeywords; 551 let strHTML = ""; 552 if (memKeywords != null && memKeywords.length > 0) { 553 554 for (let i = 0; i < memKeywords.length; i++) { 555 strHTML += '<li>'; 556 strHTML += ' <span class="icon-wrap clock">'; 557 strHTML += ' <i></i>'; 558 strHTML += ' </span>'; 559 strHTML += '<p class="search-text" onclick="goSearch(\'' + memKeywords[i].Keyword + '\')">' + memKeywords[i].Keyword + '</p>'; 560 strHTML += '<span class="icon-wrap close" onclick="clearKeyword(\'' + memKeywords[i].SeqNo + '\',\'' + memKeywords[i].Keyword + '\')"><i></i></span>'; 561 strHTML += '</li>' 562 } 563 } 564 $("#searchHistory").html(strHTML); 565 $("div.toolbar-wrap").removeClass("no-recode"); 566 }, 567 error: function () { 568 } 569 }); 570 } 571 } 572 //#endregion 573 574 function clearKeyword(SeqNo, Keyword) { 575 if (_isLogin == 'True' && _keywords.length > 0) { 576 $.ajax({
577 url: '/home/clearMemberKeywords', 578 data: {'SeqNo': SeqNo, 'Keyword': Keyword }, 579 async: true, 580 success: function (response) { 581 getMemberKeywords(); 582 }, 583 error: function () { 584 585 } 586 }); 587 } 588 } 589 590 function getTopBanner() { 591 if (document.body.clientWidth < 1025) { 592 $('#top_banner_area').hide(); 593 return; 594 } 595 if (!_isCheckTopBanner) { 596 597 //#region 598 $.ajax({ 599 url: '/Home/ajaxHeaderImagesLinks', 600 data: { 'BannerLayout': 'T', 'CatId': 'Home' }, 601 success: function (response) { 602 var json = JSON.parse(response); 603 _isCheckTopBanner = true; 604 if (json.ReturnData == null) { 605 $('#top_banner_area').hide(); 606 return; 607 } 608 _topBannerData = json.ReturnData; 609 showTopBanner(); 610 }, 611 error: function () { 612 //alert('error') 613 } 614 }) 615 //#endregion 616 } 617 else { 618 showTopBanner(); 619 } 620 } 621 622 function showTopBanner() { 623 624 if (_topBannerData != null) { 625 $('#top_banner_area .bannerTop').css('background-image', 'url(' + _topBannerData.FilePath + ')'); 626 $('#top_banner_area > a').prop('href', _topBannerData.ImgLink); 627 628 $('#top_banner_area').css('background-color', '#' + _topBannerData.BgColor.replace('#', '')); 629 if (_topBannerData.ImgLink == '' || _topBannerData.ImgLink == null) { 630 $('#top_banner_area > a').css('cursor', 'default'); 631 } 632 633 634 $('#top_banner_area').show().addClass("active"); 635 } 636 else { 637 $('body').removeClass("not-scroll"); 638 } 639 } 640 641 function goSearch(keyword) { 642 if (keyword != '') { 643 location.href = '/CategoryProds/Index?SearchKeyword=' + encodeURIComponent(keyword); 644 } 645 646 } 647 $(document).ready(function () { 648 $("label[for='advancedToggle']").on('click', function () { 649 if (document.body.clientWidth > 768) { 650 $('#searchBar').toggleClass('focus'); 651 } 652 }); 653 $('body').addClass('not-scroll'); 654 $(window).on('scroll', function (e) { 655 if ($(window).scrollTop() > 88) { 656 $('body').removeClass('not-scroll'); 657 } 658 else { 659 $('body').addClass('not-scroll'); 660 } 661 }); 662 663 664 var keyword = ""; 665 $('button.search-btn,button.enter-btn').on('click', function () { 666 667 if (_keyCount == 0) { 668 keyword = $('#searchBar').val().trim(); 669 if (keyword != '') { 670 goSearch(keyword); 671 } 672 } else { 673 location.href = "/Detail/ProdDetail/" + _autoCompleteID; 674 } 675 }) 676 677 678 679 $('#searchBar').on('keyup', function (e) { 680 if (e.key == 'Enter' || e.keyCode == 13) { 681 682 //#region 683 $('button.search-btn').trigger('click'); 684 _isTriggerClick = "false"; 685 _isKeyup = "false"; 686 //#endregion 687 } 688 689 else if ($('#searchBar').val() == "") { 690 _keyCount = 0; 691 _num = 0; 692 _isTriggerClick = "false"; 693 _isKeyup = "true"; 694 keymove(_num); 695 696 //$('#autoComplete').remove(); 697 $('#autoComplete').html(''); 698 $('div.toolbar-wrap').removeClass('has-match'); 699 700 } 701 else { 702 703 if (e.key == 'Backspace' || e.keyCode == 8) { 704 _keyCount = 0; 705 _num = 0; 706 _isTriggerClick = "false"; 707 _isKeyup = "true"; 708 keymove(_num); 709 } 710 711 712 //#region 713 if (IsHome == true) { 714 sessionStorage.setItem("HomeScroll", undefined); 715 } 716 $.ajax({
717 url: '/CategoryProds/SearchAutoComplete', 718 type: 'POST', 719 data: { 720 "keyword": $('#searchBar').val(), 721 }, 722 success: function (response) { 723 var json = JSON.parse(response); 724 725 var strHTML = ''; 726 727 for (var i = 0; i < json.DataList.length; i++) { 728 strHTML += '<li data-number="' + (i + 1) + '" data-prodid="' + json.DataList[i].ProdId + '" class="autoComLi">'; 729 strHTML +='<span class="icon-wrap search"><i></i></span>'; 730 strHTML += '<p>'; 731 strHTML += json.DataList[i].ProdName; 732 strHTML += '</p>'; 733 strHTML += '</li>'; 734 } 735 736 _autoCompleteCount = json.DataList.length; 737 738 739 $('#autoComplete').html(""); 740 741 742 if (json.DataList.length > 0) { 743 $('#autoComplete').html(strHTML).promise().done(function () { 744 $('div.toolbar-wrap').addClass('has-match'); 745 746 $('#autoComplete').find('li').hover( 747 748 //#region 749 750 function () { 751 if ($('#autoComplete').hasClass("clicked")) { 752 $('#autoComplete').removeClass("clicked"); 753 _isTriggerClick = "false"; 754 _keyCount = 0; 755 } 756 }, 757 758 function () { 759 760 if (!$('#autoComplete').hasClass("clicked")) { 761 } 762 } 763 //#endregion 764 ).off('click').on('click', function () { 765 766 //#region 767 768 $('#autoComplete').addClass("clicked"); 769 770 771 _keyCount = parseInt($(this).attr("data-number")); 772 _autoCompleteID = $(this).attr("data-prodid"); 773 if (_isTriggerClick != "true") { 774 location.href = "/Detail/ProdDetail/" + _autoCompleteID; 775 } 776 //#endregion 777 }) 778 779 780 $('#searchBar').off("keyup.move").on('keyup.move',function (e) { 781 if (e.key == 'ArrowUp' || e.keyCode == 38) { 782 783 _num = -1; 784 _isTriggerClick = "true"; 785 } else if (e.key == 'ArrowDown' || e.keyCode == 40) { 786 _num = +1; 787 _isTriggerClick = "true"; 788 } else { 789 _num = 0; 790 _keyCount = 0; 791 _isTriggerClick = "false"; 792 } 793 }) 794 keymove(_num); 795 }); 796 } 797 } 798 }); 799 //#endregion 800 } 801 }).on('focus', function () { 802 803 if ($('#searchBar').val() == "") { 804 805 } 806 807 }); 808 809 $('#advancedBtn').on('click', function () { 810 let prodName = $('#advancedTitle').val().trim(); 811 let authorName = $('#advancedAuthor').val().trim(); 812 let isbn = $('#advancedIsbn').val().trim(); 813 let pubName = $('#advancedPublisher').val().trim(); 814 815 if (prodName == '' && authorName == '' && isbn == '' && pubName == '') { 816 alert('è«è¼¸å ¥æ¥è©¢æ¢ä»¶'); 817 } 818 else { 819 location.href = '/CategoryProds/Index?skp=' + encodeURIComponent(prodName) + '&ska=' + encodeURIComponent(authorName) + '&ski=' + encodeURIComponent(isbn) + '&skpu=' + encodeURIComponent(pubName) + '&filed=9&Page=1'; 820 821 } 822 return false; 823 }); 824 825 $('#advancedClaerBtn').on('click', function () { 826 $('#advancedTitle').val(''); 827 $('#advancedAuthor').val(''); 828 $('#advancedIsbn').val(''); 829 $('#advancedPublisher').val(''); 830 return false; 831 }); 832 833 834 //#region 835 $('button.btn.logout').on('click', function () { 836 $.ajax({
837 url: '/Account/Logout', 838 success: function (response) { 839 840 } 841 }); 842 843 return false; 844 }); 845 846 $('button.btn-wrap.goto-member').on('click', function () { 847 location.href = '/Member'; 848 }); 849 850 //#endregion 851 852 if (_isLogin == "True") { 853 $('body').addClass('logined'); 854 } 855 856 getCartItems("1"); 857 getCartItems("3"); 858 getMemberKeywords(); 859 getTopBanner(); 860 861 862 //#region 863 $.ajax({ 864 url: '/Home/ajaxActHomeBanner', 865 success: function (response) { 866 var json = JSON.parse(response); 867 if (json.ReturnData == null) return; 868 var strHTML = ""; 869 870 for (var i = 0; i < json.ReturnData.length; i++) { 871 strHTML += '<li >'; 872 strHTML += ' <a href="/Marketing/?ActID=' + json.ReturnData[i].ActID + '" title="' + json.ReturnData[i].ActName + '">'; 873 if (i < 1) { 874 strHTML += ' <img src="' + json.ReturnData[i].ActHomeBanner + '" alt="' + json.ReturnData[i].ActName + '" >'; 875 } 876 else { 877 strHTML += ' <img src="' + json.ReturnData[i].ActHomeBanner + '" alt="' + json.ReturnData[i].ActName + '" loading="lazy">'; 878 } 879 strHTML += ' </a>'; 880 strHTML += '</li>'; 881 } 882 883 $('ul.event-list').html(strHTML); 884 }, 885 error: function () { 886 887 } 888 }) 889 //#endregion 890 891 892 //#region 893 $.ajax({
894 url: '/Home/ajaxNews', 895 success: function (response) { 896 var json = JSON.parse(response); 897 if (json.ReturnValue != OpReturnValue.Correct) return; 898 var strHTML = ""; 899 900 for (var i = 0; i < json.ReturnData.length; i++) { 901 strHTML += ' <li> '; 902 strHTML += ' <p>' + json.ReturnData[i].NewsContent + '</p>'; 903 strHTML += ' </li>'; 904 } 905 906 $('.news-list').html(strHTML); 907 908 909 910 if (document.body.clientWidth > 768) { 911 if (json.ReturnData.length > 0 && _isShow == 'True' && getCookie('firstNews') != json.ReturnData[0].NewsContent) { 912 913 setCookie('firstNews', json.ReturnData[0].NewsContent, 1); 914 ajaxSetIsShowSession(false); 915 if (typeof (showNews) != "undefined") { 916 showNews(); 917 } 918 } 919 } 920 }, 921 error: function () { 922 923 } 924 }) 925 926 //#endregion 927 928 929 //#region 930 $('#catBtn').on('click', function () { 931 $('.navBtnEvent li').removeClass('navBtnActive'); 932 933 if (_cateStatus == 'close') { 934 $('#catBtn > li').addClass('navBtnActive'); 935 $('#catArea').css('display', 'block'); 936 $('#catBtn .navBtn-arrow').addClass('navBtn-arrowUP'); 937 938 changeCatType('Taaze','A', function () { 939 bindCatTitleClick(); 940 _cateStatus = 'open'; 941 }); 942 } else { 943 closeCate(); 944 } 945 if (document.body.clientWidth <= 768) { 946 $('#mainMenu').css('display', 'none'); 947 } else { 948 $('#mainMenu').css('display', 'flex'); 949 } 950 return false; 951 }); 952 //#endregion 953 954 955 //#region 956 $('#actBookBtn').on('click', function () { 957 if ($('.eventBooks_wrap').children().length <= 0) return false; 958 $('.navBtnEvent li').removeClass('navBtnActive'); 959 $('.navContentArea:not(#eventBook)').css('display', 'none'); 960 $('#eventBook').toggle(); 961 if ($('#eventBook').css('display') == 'none') { 962 $('#actBookBtn > li').removeClass('navBtnActive'); 963 } else { 964 $('#actBookBtn > li').addClass('navBtnActive'); 965 } 966 if (document.body.clientWidth <= 768) { 967 $('#mainMenu').css('display', 'none'); 968 } else { 969 $('#mainMenu').css('display', 'flex'); 970 } 971 return false; 972 }); 973 //#endregion 974 975 976 //#region 977 $('#newsBtn').on('click', function () { 978 $('.navBtnEvent li').removeClass('navBtnActive'); 979 $('.navContentArea:not(#newsArea)').css('display', 'none'); 980 $('#newsArea').toggle(); 981 if ($('#newsArea').css('display') == 'none') { 982 $('#newsBtn > li').removeClass('navBtnActive'); 983 $('#newsBtn .navBtn-arrow').removeClass('navBtn-arrowUP'); 984 } else { 985 $('#newsBtn > li').addClass('navBtnActive'); 986 $('#newsBtn .navBtn-arrow').addClass('navBtn-arrowUP'); 987 } 988 if (document.body.clientWidth <= 768) { 989 $('#mainMenu').css('display', 'none'); 990 } else { 991 $('#mainMenu').css('display', 'flex'); 992 } 993 994 return false; 995 }) 996 //#endregion 997 998 $('div.advancedSearchBtn').click(function () { 999 $('div.advanced-skin').toggleClass('active'); 1000 if ($('div.advanced-skin').hasClass('active')) { 1001 $('#advancedTitle').focus(); 1002 } 1003 }); 1004 1005 $('#searchBtn').click(function () { 1006 if (document.body.clientWidth <= 1101) { 1007 $('div.searchBlock').toggleClass('active'); 1008 } 1009 }); 1010 1011 1012 $('body').click(function (e) { 1013 let target = $(e.target); 1014 /* 1015 if (!target.closest('#autoComplete').length && $("#autoComplete").is(':visible')) { 1016 $('#autoComplete').html(''); 1017 $('div.toolbar-wrap').removeClass('has-match'); 1018 } 1019 */ 1020 if (!target.closest('#categoryFilter_wrap').length && $("#catArea").is(':visible')) { 1021 closeCate(); 1022 } 1023 1024 if (!target.closest('#searchInput').length && !target.closest('.history-skin').length && $("#searchInput").hasClass('focus')) { 1025 $('#searchInput').removeClass('focus'); 1026 } 1027 1028 if ($("div.member-view").hasClass('active') && !target.closest('div.member-skin').length) { 1029 closeMemberView(); 1030 } 1031 1032 1033 if ($("div.advanced-skin").hasClass('active') && !target.closest('div.advanced-skin').length && !target.closest('div.advancedSearchBtn').length) { 1034 $('div.advanced-skin').removeClass('active'); 1035 } 1036 }) 1037 1038 $('#navCategoryChinese').change(function () { 1039 1040 if ($(this).is(':checked')) { 1041 1042 changeCatType('Taaze', 'A', function () { 1043 1044 _cateStatus = 'open'; 1045 }); 1046 } else { 1047 1048 } 1049 }); 1050 1051 $('#navCategoryForeign').change(function () { 1052 1053 if ($(this).is(':checked')) { 1054 changeCatType('Taaze', 'C', function () { 1055 1056 _f_cateStatus = 'open'; 1057 }); 1058 } else { 1059 1060 } 1061 }); 1062 1063 $(".e-news").on('click', function () { 1064 $(".business-rFeedback").show(); 1065 $(".e-news").find('img').css('visibility', 'hidden'); 1066 }); 1067 1068 1069 $(".fb-fans").click(function () { 1070 document.location.href = "https://www.facebook.com/ireadcomtw/"; 1071 }); 1072 1073 1074 $(".subscribeBtn").on('click', function () { 1075 var Email = $('.subscribeInput').val(); 1076 1077 if (Email == null || Email.trim() == "") { 1078 alert("è«è¼¸å ¥Email"); 1079 return false 1080 } else if (!/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/.test(Email)) { 1081 alert("Emailæ ¼å¼ä¸æ£ç¢º"); 1082 return false 1083 } 1084 1085 $.ajax({
1086 url: '/Home/ajaxENews', 1087 data: { 1088 'Email': Email, 1089 }, 1090 success: function (error) { 1091 if (error == 'æ¨å·²åæ¶é»åå ±') { 1092 $(".cancelMsg").show(); // æ¨å·²åæ¶é»åå ± 1093 $(".cancelMail").text(Email); 1094 } else { 1095 $(".subscribeMsg").show(); //æ¨å·²è¨é±é»åå ± 1096 $(".subscribeMail").text(Email); 1097 } 1098 }, 1099 error: function () { 1100 alert('è¨é±å¤±æ'); 1101 } 1102 }); 1103 }); 1104 1105 $(".msg_closeBtn").on('click', function () { 1106 $(".subscribeMsg").hide(); 1107 $(".cancelMsg").hide(); 1108 $(".business-rFeedback").hide(); 1109 $(".e-news").find('img').css('visibility', 'visible'); 1110 }); 1111 }); 1112 1113 $(window).resize(function () { 1114 if ($(window).width() == initWidth) { 1115 return; 1116 } 1117 else { 1118 initWidth = $(window).width(); 1119 } 1120 if (document.body.clientWidth <= 768) { 1121 $('#mainMenu').css('display', 'none'); 1122 } else { 1123 $('#mainMenu').css('display', 'block'); 1124 } 1125 1126 bindCatTitleClick(); 1127 getTopBanner(); 1128 1129 1130 if (_isKeyup) return; 1131 $('#autoComplete').html(''); 1132 $('div.toolbar-wrap').removeClass('has-match'); 1133 1134 }) 1135 1136 1137 1138 //#region 1139 window.onbeforeunload = function (e) { 1140 delCookie('isShowFullBanner'); 1141 delCookie('firstNews'); 1142 } 1143 //#endregion 1144 1145 1146 var bindBigCatTitleClick = function (id) { 1147 $('#' + id).off('click').on('click', function () { 1148 var type = ''; 1149 if (id == 'catTitle1') { 1150 type = 'Taaze' 1151 } else { 1152 type = 'China' 1153 } 1154 changeCatType(type,'A', function () { 1155 $('#' + id).addClass('categoryTitle-atv'); 1156 $('#' + id).siblings().removeClass('categoryTitle-atv'); 1157 1158 bindCatTitleClick(); 1159 1160 _cateStatus = 'open'; 1161 }); 1162 return false; 1163 }) 1164 } 1165 1166 1167 var bindCatTitleClick = function () { 1168 1169 $('div.categorySubTitle_wrap').off('click').on('click', function () { 1170 var CatId = $(this).attr("data-id"); 1171 openCate(CatId); 1172 }); 1173 } 1174 function checkAdultProdImg(ContentDegree, ProdIcon,MemAgeType) { 1175 1176 if (ContentDegree == '4' && MemAgeType != 'A') { 1177 return "/content/images/bookcover_adults_n.jpg"; 1178 } 1179 else { 1180 return ProdIcon; 1181 } 1182 } 1183 </script>
1183 1184 <!--v3.0--> 1185 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css" /> 1186 <link rel="stylesheet" type="text/css" href="/src/css/reset.css?v=20260706"> 1187 <link rel="stylesheet" type="text/css" href="/src/css/uistyleguide.css?v=20260706"> 1188 <link rel="stylesheet" type="text/css" href="/src/css/main.css?v=20260706"> 1189 1190 1191
1191<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
1191 1192
1192<script type="text/javascript" src="/src/script/script.js?v=20260706"></script>
1192 1193 1194</head> 1195<body>
vendor: 79 bytes, lines 1195-1198
1195 1196 1197 <noscript> 1198 <iframe src="https://www.googletagmanager.com/ns.html?id=
1198GTM-57Z974V
vendor: 111 bytes, lines 1198-1203
1198" 1199 height="0" width="0" style="display:none;visibility:hidden"></iframe> 1200 </noscript> 1201 1202 1203
1204<form action="/home/Redemption" id="__AjaxAntiForgeryForm" method="post"><input name="__RequestVerificationToken" type="hidden" value="SGOY_jpqVjFCk5R5WMwnWRnPozGbDLgkCPOMC-1UvwSGhc2xFWX4zAtZxZd8IXN12KKBhWbVr9YU4l1XPhVCnpdVUhPUjwh1Ws2oFtRoSI01" /></form> <!--ç½®é 廣å--> 1205 <section id="top_banner_area" class="bannerTop_wrap xs-hide s-hide sm-hide" style="display: none"> 1206 <a href="" target="_blank" alt="ç½®é 廣å"> 1207 <div class="bannerTop"> 1208 </div> 1209 </a> 1210 </section> 1211 1212 <!--switch--> 1213 <section class="console-switch"> 1214 <input type="checkbox" id="navToggle" name="nav-console"> 1215 <input type="checkbox" id="advancedToggle" name="search-advance "> 1216 <input type="checkbox" id="navCategoryChinese" name="nav-popup" class="category_chinese"> 1217 <input type="checkbox" id="navCategoryForeign" name="nav-popup" class="category_foreign"> 1218 <input type="checkbox" id="navEvent" name="nav-popup" class="event"> 1219 <input type="checkbox" id="navNews" name="nav-popup" class="news"> 1220 <input type="checkbox" id="mediaUsedToggle" name="detail-usedbooks" class="usedbooks"> 1221 <input type="checkbox" id="giftSwitch" name="detail-gift"> 1222 <input type="checkbox" id="filterResultToggle" name="filter-result"> 1223 </section> 1224 1225 <section class="popup_view_wrap "> 1226 <div class="popup_skin redeem "> 1227 <span class="btn_close" onclick="closeRedeemMsg(false)"></span> 1228 <h2></h2> 1229 <div class="feedback_text" id="feedback_text"> 1230 <p class="txt1" id="redeemMsg"></p> 1231 <p class="txt2"> 1232 <strong></strong> 1233 </p> 1234 <div class="btn_wrap"> 1235 <span onclick="closeRedeemMsg(true)">ç¹¼çºå æ</span> 1236 <a href="#" title="é»åæ¸æ«" onclick="moveToBookcase()">å徿¸æ«çæ¸</a> 1237 </div> 1238 </div> 1239 </div> 1240 <div class="popup_skin redeem_help"> 1241 <span class="btn_close" onclick="closeHelp()"></span> 1242 <h2> 1243 <span>é»åæ¸å ææ¥é©</span> 1244 </h2> 1245 <div class="ebooksRedemption_step"> 1246 <ul> 1247 <li class="step_style step1"> 1248 <h4> 1249 <span>STEP 1</span> 1250 </h4> 1251 <div class="step_img step_img1"> 1252 1253 </div> 1254 <p>æ¶å°é»åæ¸å æåºè</p> 1255 </li> 1256 <li class="step_style step2"> 1257 <h4> 1258 <span>STEP 2</span> 1259 </h4> 1260 <div class="step_img step_img2"> 1261 1262 </div> 1263 <p> 1264 <a href="/Account/Login" title="ç»å ¥é ">ç»å ¥</a>/ 1265 <a href="/Account/Register" title="註åé ">註å</a><br> 1266 ç°çæè®æ¸æå¡ 1267 </p> 1268 </li> 1269 <li class="step_style step3"> 1270 <h4> 1271 <span>STEP 3</span> 1272 </h4> 1273 <div class="step_img step_img3"> 1274 1275 </div> 1276 <p> 1277 æ¼æ¬é è¼¸å ¥å æåºè 1278 </p> 1279 </li> 1280 <li class="step_style step4"> 1281 <h4> 1282 <span>STEP 4</span> 1283 </h4> 1284 <div class="step_img step_img4"> 1285 1286 </div> 1287 <p> 1288 å ææåï¼<br>åå¾<a href="#" title="é»åæ¸æ«" onclick="toBookcase()">é»åæ¸æ«</a>é±è® 1289 </p> 1290 </li> 1291 <div class="clear"></div> 1292 </ul> 1293 <div class="ebooksRedemption_wrap"> 1294 <h3> 1295 <span>é»åæ¸å æèªªæ</span> 1296 </h3> 1297 <ul> 1298 <li>â æ¯çµåºèåªè½å æç¹å®é»åæ¸ä¸æ¬¡ã</li> 1299 <li>â æ¯æ¬é»åæ¸ä¸åæå¡å¸³èåªè½å æä¸æ¬¡ã</li> 1300 </ul> 1301 </div> 1302 </div> 1303 </div> 1304 <div class="bg_mark"></div> 1305 </section> 1306 1307 1308 <!--======= header =======--> 1309 <header class=""> 1310 <div class="header-wrap"> 1311 <label for="navToggle"> 1312 <span class="icon-wrap menu"> 1313 </span> 1314 </label> 1315 <div class="logo-wrap"> 1316 <a href="/"> 1317 <picture> 1318 <img class="logo" src="/src/assets/images/header/logo.png" alt="ç°çæè®æ¸"> 1319 </picture> 1320 </a> 1321 </div> 1322 <div class="toolbar-wrap no-recode"> 1323 <div class="popup-wrap"> 1324 <!--advanced search--> 1325 <div id="advancedSearch" class="popup-view advanced-search"> 1326 <form action=""> 1327 <p>é²éæå°</p> 1328 <div class="input-wrap"> 1329 <label for="advanced_title">æ¸å</label> 1330 <input type="text" id="advancedTitle" placeholder="è¼¸å ¥æ¸å"> 1331 </div> 1332 <div class="input-wrap"> 1333 <label for="advanced_author">ä½è </label> 1334 <input type="text" id="advancedAuthor" placeholder="è¼¸å ¥ä½è "> 1335 </div> 1336 <div class="input-wrap"> 1337 <label for="advanced_isbn">ISBN</label> 1338 <input type="text" id="advancedIsbn" placeholder="è¼¸å ¥ISBN"> 1339 </div> 1340 <div class="input-wrap"> 1341 <label for="advanced_publisher">åºç社</label> 1342 <input type="text" id="advancedPublisher" placeholder="è¼¸å ¥åºç社"> 1343 </div> 1344 <div class="fuction-btn-wrap"> 1345 <button class="btn-wrap reset" title="éç½®" id="advancedClaerBtn"> 1346 <strong>éç½®</strong> 1347 </button> 1348 <button class="btn-wrap type1 ok" title="é²éæå°" id="advancedBtn"> 1349 <strong>æå°</strong> 1350 </button> 1351 </div> 1352 </form> 1353 </div> 1354 <!--search record--> 1355 <div class="popup-view search-tool-list"> 1356 <div class="fuction-btn-wrap"> 1357 <b>è¿ææå°è¨é</b> 1358 <button class="btn clear" onclick="clearKeyword(0,'');">æ¸ é¤æå°è¨é</button> 1359 </div> 1360 <div class="list-wrap"> 1361 <ul id="searchHistory" class="search-list"></ul> 1362 <ul id="autoComplete" class="match-list"></ul> 1363 </div> 1364 </div> 1365 </div> 1366 <ul> 1367 <li class="search-close">
1368 <span class="icon-wrap back"> 1369 <i></i> 1370 </span> 1371 </li> 1372 <li class="search-wrap"> 1373 <input id="searchBar" type="search" placeholder="è¼¸å ¥æå°æå" autocomplete="off"> 1374 <button type="submit" class="search-btn"> 1375 <span class="icon-wrap search"> 1376 <i></i> 1377 </span> 1378 </button> 1379 <button type="reset" class="clear-btn"> 1380 <span class="icon-wrap close"> 1381 <i></i> 1382 </span> 1383 </button> 1384 <button type="submit" class="enter-btn"> 1385 <span class="icon-wrap enter"> 1386 <i></i> 1387 </span> 1388 </button> 1389 <label for="advancedToggle"> 1390 <strong>é²éæå°</strong> 1391 <span class="icon-wrap solid-arrow-tb"> 1392 <i></i> 1393 </span> 1394 </label> 1395 </li> 1396 <li class="ebookcase"> 1397 <a target="_blank" title="é»åæ¸" onclick="toBookcase()"></a> 1398 <span class="icon-wrap ebookcase"> 1399 <i></i> 1400 </span> 1401 <strong>é»åæ¸</strong> 1402 </li> 1403 <li class="shopcart"> 1404 <strong id="headerCartCount" class="cart-count">0</strong> 1405 <a href="/Cart/OrderDetail" title="è³¼ç©è»"></a> 1406 <span class="icon-wrap cart"> 1407 <i></i> 1408 </span> 1409 <strong>è³¼ç©è»</strong> 1410 </li> 1411 <li class="member"> 1412 <label for="memberToggle" title="æå¡å°å"> 1413 <input type="checkbox" id="memberToggle"> 1414 </label> 1415 <a href="/Account/Login" class="icon-wrap member login" title="ç»å ¥"> 1416 <i></i> 1417 </a> 1418 <a href="/Account/Register" class="register" title="註å"></a> 1419 <a href="/Member" class="member-center" title="æå¡å°å"></a> 1420 <span class="icon-wrap member"> 1421 <i></i> 1422 </span> 1423 <strong>æå¡å°å</strong> 1424 <span class="icon-wrap solid-arrow-tb"> 1425 <i></i> 1426 </span> 1427 <div class="member-view"> 1428 <div class="view-content"> 1429 <p class="user-name">$USER NICKNAME$$</p> 1430 <p class="user-account"></p> 1431 <p>æçç´ å©é»æ¸:<span class="bonuspoint">0</span>é»</p> 1432 <p>å¯ç¨E-Coupon:<span class="ecoupon">0</span>å¼µ</p> 1433 <button class="btn-wrap goto-member"> 1434 <strong>管çæå¡å°å</strong> 1435 </button> 1436 </div> 1437 <div class="fuction-btn-wrap"> 1438 <button class="btn download"> 1439 <span class="icon-wrap download"> 1440 <i></i> 1441 </span> 1442 <a href="https://www.ebookxross.com/index.html">ä¸è¼é±è®å¨</a> 1443 </button> 1444 <button class="btn buylater"> 1445 <span class="icon-wrap buylater"> 1446 <i></i> 1447 </span> 1448 <a href="/Cart/OrderDetail">䏿¬¡å¾ è²·æ¸ å®</a> 1449 </button> 1450 <button class="btn logout"> 1451 <span class="icon-wrap logout"> 1452 <i></i> 1453 </span> 1454 <strong>ç»åº</strong> 1455 </button> 1456 </div> 1457 </div> 1458 </li> 1459 </ul> 1460 </div> 1461 </div> 1462 <nav class="main-menu" id="navBar"> 1463 <div class="area-title"> 1464 <label for="navToggle"> 1465 <span class="icon-wrap back"> 1466 <i></i> 1467 </span> 1468 </label> 1469 <p></p> 1470 </div> 1471 <ul> 1472 <li class="nav-item category_chinese"> 1473 <label for="navCategoryChinese"> 1474 <b>æ¾ä¸ææ¸</b> 1475 <span class="icon-wrap arrow-tb"> 1476 <i></i> 1477 </span> 1478 </label> 1479 </li> 1480 <li class="nav-item category_foreign"> 1481 <label for="navCategoryForeign"> 1482 æ¾å¤ææ¸<i class="new">new</i>
1483 <span class="icon-wrap arrow-tb"> 1484 <i></i> 1485 </span> 1486 </label> 1487 </li> 1488 <li class="nav-item event"> 1489 <label for="navEvent"> 1490 æ´»åæ¸å± 1491 <span class="icon-wrap arrow-tb"> 1492 <i></i> 1493 </span> 1494 </label> 1495 </li> 1496 <li class="nav-item news"> 1497 <label for="navNews"> 1498 ææ°æ¶æ¯ 1499 <span class="icon-wrap arrow-tb"> 1500 <i></i> 1501 </span> 1502 </label> 1503 </li> 1504 <li class="nav-item"> 1505 <a href="/PreOrder/Index"> 1506 é è³¼å°å 1507 </a> 1508 </li> 1509 <li class="nav-item"> 1510 <a href="/home/Redemption"> 1511 é»åæ¸å æ 1512 </a> 1513 </li> 1514 </ul> 1515 </nav> 1516 1517 </header> 1518 1519 <!--======= åè½å =======--> 1520 <!--å顿¾æ¸--> 1521 <section id="catArea" class="popup-wrap navbar catalog-popup" data-type="chinese"> 1522 <div class="control-wrap"> 1523 <label for="navCategoryChinese"> 1524 <span class="icon-wrap back"> 1525 <i></i> 1526 </span> 1527 </label> 1528 <h2>䏿æ¸ç±åé¡</h2> 1529 </div> 1530 <div class="catalog-wrap"> 1531 <ul class="main-category" id="categoryFilter_wrap"></ul> 1532 </div> 1533 </section> 1534 1535 <section id="catAreaForeign" class="popup-wrap navbar catalog-popup" data-type="foreign"> 1536 <div class="control-wrap"> 1537 <label for="navCategoryForeign"> 1538 <span class="icon-wrap back"> 1539 <i></i> 1540 </span> 1541 </label> 1542 <h2>夿æ¸ç±åé¡</h2> 1543 </div> 1544 <div class="catalog-wrap"> 1545 <ul class="main-category" id="CategoryForeign"></ul> 1546 </div> 1547 </section> 1548 <!--æ´»åæ¸å±banner--> 1549 <section id="eventBook" class="popup-wrap navbar event-popup"> 1550 <div class="control-wrap top"> 1551 <label for="navEvent"> 1552 <span class="icon-wrap back"> 1553 <i></i> 1554 </span> 1555 </label> 1556 <h2>æ´»åæ¸å±</h2> 1557 </div> 1558 <ul class="event-list"></ul> 1559 <!-- <div class="skinStyle_wrap skinStyle_eventBooks"> 1560 <div class="skinStyle"> 1561 <div class="eventBooks_wrap"> 1562 </div> 1563 </div> 1564 </div>--> 1565 <div class="control-wrap"> 1566 <label for="navEvent"> 1567 <span class="icon-wrap back"> 1568 <i></i> 1569 </span> 1570 <strong>ééè¦çª</strong> 1571 </label> 1572 </div> 1573 <label for="navEvent"></label> 1574 </section> 1575 1576 <!--ææ°æ¶æ¯--> 1577 <section class="popup-wrap navbar news-popup"> 1578 <div class="control-wrap"> 1579 <label for="navNews"> 1580 <span class="icon-wrap back"> 1581 <i></i> 1582 </span> 1583 </label> 1584 <b class="title">ææ°æ¶æ¯</b> 1585 </div> 1586 <ul class="news-list"></ul> 1587 <label for="navNews"></label> 1588 </section> 1589 <div id="newsArea" class="newsMsg_wrap navContentArea" style="display: none; "> 1590 <div class="newsMsg"> 1591 <div class="newsMsg_text"> 1592 1593 </div> 1594 </div> 1595 </div> 1596 1597 1598 <!--======= body =======--> 1599 <div class="" id="Content" style="position: relative"> 1600 1601 1602 1603
1604<script> 1605 var _validexno = ""; 1606 var _BCGroup = ""; 1607 function checkexno() { 1608 let exno = $('#exnoTxt').val().trim(); 1609 if (exno != "") { 1610 //$('#submitbtn').addClass('inputSubmit-atv').text('確èª'); 1611 $('#lblredeem').addClass('entering focus'); 1612 1613 } 1614 else { 1615 $('#lblredeem').removeClass('entering focus'); 1616 //$('#submitbtn').removeClass('inputSubmit-atv').text('å æ'); 1617 } 1618 } 1619 1620 function moveToBookcase() { 1621 toBookcase(_BCGroup); 1622 } 1623 function openHelp() { 1624 $(".popup_view_wrap").addClass("help"); 1625 } 1626 1627 function closeHelp() { 1628 $(".popup_view_wrap").removeClass("help"); 1629 } 1630 1631 function clearProd() { 1632 $('.redeem_prods').hide(); 1633 $('.redeem_prods').html(""); 1634 $('.redeem_prods').removeClass("multiple"); 1635 } 1636 1637 function closeRedeemMsg(isClearProd) { 1638 $(".popup_view_wrap").removeClass("redeem_ok redeem_ng trms free_redeem "); 1639 $("#redeemMsg").text(""); 1640 if (isClearProd) { 1641 $('#exnoTxt').val(''); 1642 _validexno = ""; 1643 $('#lblredeem').removeClass('entering focus'); 1644 clearProd(); 1645 $(window).scrollTop(0); 1646 } 1647 } 1648 1649 function showRedeemMsg(isSuccess, msg, isTRMS, ExtraClass) { 1650 1651 $(".popup_view_wrap").removeClass("redeem_ok redeem_ng trms free_redeem "); 1652 if (isSuccess == true) { 1653 $(".popup_view_wrap").addClass("redeem_ok"); 1654 //$("#redeemMsg").html(msg); 1655 $("#feedback_text").html(msg); 1656 1657 if (isTRMS) { 1658 _BCGroup = "trms"; 1659 $(".popup_view_wrap").addClass("trms"); 1660 } 1661 console.log(ExtraClass); 1662 $(".popup_view_wrap").addClass(ExtraClass); 1663 } 1664 else { 1665 _BCGroup = ""; 1666 $(".popup_view_wrap").addClass("redeem_ng "); 1667 $("#feedback_text").html("<p class='txt1' id='redeemMsg'>" + msg + "</p>"); 1668 1669 //$("#redeemMsg").text(msg); 1670 } 1671 } 1672 1673 function submitExch() { 1674 1675 let exno = $('#exnoTxt').val().trim(); 1676 if (exno != '') { 1677 if (exno != _validexno) { 1678 alert('åºèå·²è®æ´ï¼è«éæ°ç¢ºèª'); 1679 return; 1680 } 1681 if (_isLogin == "True") { 1682 $('.btn_check').off('click').attr("disabled", true); 1683 //$('.btn_cancel').attr("disabled", true); 1684 $.ajax({
1685 url: '/Member/RedemptionEbook', 1686 type: 'POST', 1687 data: { 1688 "exno": exno, 1689 }, 1690 success: function (response) { 1691 var json = JSON.parse(response); 1692 if (json.ReturnValue == "0") { 1693 let lstEbook = json.ReturnData; 1694 let strHTML = ""; 1695 let isTRMS = false; 1696 let ReadEndDate = ""; 1697 let ExtraClass = ""; 1698 strHTML += '<div>'; 1699 console.log(lstEbook[0].ReadEndDate); 1700 for (var i = 0; i < lstEbook.length; i++) { 1701 if (i == 0 && (lstEbook[i].ReadEndDate != null && lstEbook[i].ReadEndDate != "")) { 1702 console.log(i); 1703 ReadEndDate = lstEbook[i].ReadEndDate; 1704 } 1705 let ProdNameShow = lstEbook[i].ProdName; 1706 1707 if (lstEbook[i].SubCate == null || lstEbook[i].SubCate == "") { 1708 1709 } 1710 else { 1711 IsTRMS = true; 1712 if (lstEbook[i].SubCate == "S") { 1713 ProdNameShow += '<font color="red">(å æå¸è³æº)</font>'; 1714 } 1715 } 1716 1717 //if (i > 0) 1718 // strHTML += "<br/>"; 1719 strHTML += '<p class="ebooks ">'; 1720 strHTML += ProdNameShow; 1721 strHTML += '</p>'; 1722 } 1723 strHTML += '<p class="txt2">'; 1724 strHTML += '<strong></strong>'; 1725 strHTML += '</p>'; 1726 strHTML += '</div>'; 1727 if (ReadEndDate != '') { 1728 strHTML += '<div class="deadline_reminder"> '; 1729 strHTML += ' 以䏿¸ç±å è²»é±è® '; 1730 strHTML += ' <p> '; 1731 strHTML += ' <span class="yyyy">' + ReadEndDate.substr(0,4) + '</span> '; 1732 strHTML += ' / '; 1733 strHTML += ' <span class="mm">' + ReadEndDate.substr(4, 2) + '</span> '; 1734 strHTML += ' / '; 1735 strHTML += ' <span class="dd">' + ReadEndDate.substr(6, 2) + '</span> '; 1736 strHTML += ' </p> '; 1737 strHTML += '</div> '; 1738 ExtraClass = "free_redeem"; 1739 } 1740 1741 strHTML += '<div class="btn_wrap"> '; 1742 strHTML += ' <span onclick="closeRedeemMsg(true)">ç¹¼çºå æ</span> '; 1743 strHTML += ' <a href="#" title="é»åæ¸æ«" onclick="toBookcase()">å徿¸æ«çæ¸</a> '; 1744 strHTML += '</div> '; 1745 showRedeemMsg(true,strHTML,isTRMS,ExtraClass); 1746 } 1747 else { 1748 if (json.ReturnMessage != "") { 1749 console.log(json.ReturnMessage); 1750 showRedeemMsg(false, json.ReturnMessage); 1751 //alert(json.ReturnMessage); 1752 } 1753 else { 1754 showRedeemMsg(false, ""); 1755 } 1756 } 1757 }, 1758 error: function (err) { 1759 console.log(err); 1760 } 1761 }); 1762 } 1763 else { 1764 location.href = "/Account/Login?url=/home/Redemption?exno=" + exno; 1765 } 1766 } 1767 } 1768 1769 function cancelExch() { 1770 1771 $('.ebooksRedemption_wrap').removeClass("active"); 1772 $('.redemptionList').find('ul').first().html(""); 1773 } 1774 1775 $(document).ready(function () { 1776 checkexno(); 1777 $('#exnoTxt').on('keyup', function (e) { 1778 if (e.key == 'Enter' || e.keyCode == 13) { 1779 $('#submitbtn').trigger('click'); 1780 } 1781 else { 1782 checkexno(); 1783 } 1784 }); 1785 1786 $("#submitbtn").on('click', function (e) { 1787 clearProd(); 1788 1789 let exno = $('#exnoTxt').val().trim(); 1790 if (exno != '') { 1791 1792 if (_isLogin == "True") { 1793 1794 $.ajax({
1795 url: '/Member/CheckRedemptionEbook', 1796 type: 'POST', 1797 data: { 1798 "exno": exno, 1799 }, 1800 success: function (response) { 1801 let json = JSON.parse(response); 1802 let IsTRMS = false; 1803 if (json.ReturnValue == "0") { 1804 1805 let validcount = 0; 1806 let lstEbook = json.ReturnData; 1807 let strHTML = ""; 1808 1809 1810 for (var i = 0; i < lstEbook.length; i++) { 1811 let liclass = ""; 1812 let ProdNameShow = lstEbook[i].ProdName; 1813 1814 if (lstEbook[i].SubCate == null || lstEbook[i].SubCate == "") { 1815 if (lstEbook[i].BuyCount == 1) { 1816 //liclass = 'class="owned"'; 1817 liclass = ' state_have '; 1818 //ProdNameShow += '<font color="red">(å·²ææ)</font>'; 1819 } 1820 else { 1821 validcount += 1; 1822 } 1823 } 1824 else { 1825 IsTRMS = true; 1826 if (lstEbook[i].SubCate == "S") { 1827 ProdNameShow += '<font color="red">(å æå¸è³æº)</font>'; 1828 } 1829 } 1830 1831 strHTML += '<div class="prods ' + liclass + '"><div class="cover">'; 1832 strHTML += '<img src="' + lstEbook[i].ProdIconS + '" alt="' + lstEbook[i].ProdName + '">'; 1833 strHTML += '</div>'; 1834 strHTML += '<div class="title">' + ProdNameShow + '</div></div>'; 1835 1836 //strHTML += '<li ' + liclass + '>'; 1837 //strHTML += lstEbook[i].ProdName; 1838 //strHTML += "</li>"; 1839 } 1840 if (IsTRMS || validcount > 0) { 1841 strHTML += '<div class="control-wrap">'; 1842 strHTML += '<div class="btn_check" onclick="submitExch()">確èªå æ</div>'; 1843 strHTML += '</div>'; 1844 _validexno = exno 1845 } 1846 else { 1847 1848 } 1849 if (lstEbook.length > 1) { 1850 $('.redeem_prods').addClass('multiple'); 1851 } 1852 $('.redeem_prods').html(strHTML); 1853 $('.redeem_prods').show(); 1854 1855 1856 /* 1857 $('.btn_cancel').attr("disabled", false); 1858 $('.btn_submit').off('click'); 1859 if (validcount == 0) { 1860 $('.redemptionMsg').removeClass("normal partial").addClass("unable"); 1861 } 1862 else { 1863 _validexno = exno; 1864 $('.btn_submit').on('click', submitExch).attr("disabled", false); 1865 if (validcount == lstEbook.length) { 1866 $('.redemptionMsg').removeClass("unable partial").addClass("normal"); 1867 } 1868 else { 1869 $('.redemptionMsg').removeClass("unable partial").addClass("partial"); 1870 } 1871 }*/ 1872 } 1873 else { 1874 if (json.ReturnMessage != "") { 1875 showRedeemMsg(false, json.ReturnMessage) 1876 //alert(json.ReturnMessage); 1877 } 1878 else { 1879 alert("error"); 1880 } 1881 } 1882 }, 1883 error: function (err) { 1884 console.log(err); 1885 } 1886 }); 1887 } 1888 else { 1889 location.href = "/Account/Login?url=/home/Redemption?exno=" + exno; 1890 } 1891 } 1892 }); 1893 }); 1894</script>
1894 1895 1896<main class="redeem"> 1897 <section> 1898 <h2 class="mb_title">é»åæ¸å æ<span class="btn_help" onclick="openHelp()">?</span></h2> 1899 <div class="redeem_code"> 1900 <label for="redeem_code" class="" id="lblredeem"> 1901 <input type="text" name="redeem_code" value="" id="exnoTxt"> 1902 <span class="placeholder_text">è¼¸å ¥é»åæ¸å æåºè</span> 1903 <span class="btn_clear"> 1904 </span> 1905 </label> 1906 <div class="btn_submit" id="submitbtn">é©è</div> 1907 </div> 1908 1909 <div class="redeem_prods" style="display:none"> 1910 1911 </div> 1912 1913 </section> 1914 1915</main> 1916 1917 1918 1919 </div> 1920 1921 <footer> 1922 <div class="footer-wrap"> 1923 <div class="business-l"> 1924 <div class="aboutUs"> 1925 <p>éæ¼æå</p> 1926 <ul> 1927 <li><a href="/FAQ/?CatID=0&ItemID=4">æåæ¢æ¬¾</a></li> 1928 <li><a href="/FAQ/?CatID=0&ItemID=5">é±ç§æ¬æ¿ç</a></li> 1929 <li><a href="/FAQ/?CatID=6&ItemID=2">å使æ¡</a></li> 1930 <li><a href="/FAQ/?CatID=6&ItemID=3">é²è©é¨æé</a></li> 1931 <li><a href="/FAQ/?CatID=6&ItemID=1">åç«é£çµ</a></li> 1932 <li><a href="mailto:[email protected]">è¯ç¹«å®¢æ</a></li> 1933 </ul> 1934 </div> 1935 <div class="newbie"> 1936 <p>æ°ææå</p> 1937 <ul> 1938 <li><a href="/FAQ/?CatID=0&ItemID=1">å¦ä½å¨ç°çæè®æ¸è³¼ç©ï¼</a></li> 1939 <li><a href="/FAQ/?CatID=0&ItemID=3">è³¼ç©æµç¨èªªæ</a></li> 1940 <li><a href="/FAQ/?CatID=2&ItemID=1">è¨å®æ¥è©¢</a></li> 1941 <li><a href="/FAQ/?CatID=2&ItemID=5">é»åç¼ç¥¨éç«èªªæ</a></li> 1942 <li><a href="/FAQ/?CatID=7&ItemID=2">å¦ä½è³¼è²·é»åæ¸</a></li> 1943 <li><a href="/FAQ/?CatID=7&ItemID=4">é±è®å¨ä¸è¼ / 使ç¨</a></li> 1944 </ul> 1945 </div> 1946 <div class="shopping-Notes"> 1947 <p>仿¬¾æ¹å¼èéè²»</p> 1948 <ul> 1949 <li><a href="/FAQ/?CatID=1&ItemID=1">è¶ ååè²¨ä»æ¬¾</a></li> 1950 <li><a href="/FAQ/?CatID=3&ItemID=1">ä¸è¬éæè²¨è¦å</a></li> 1951 <li><a href="/FAQ/?CatID=3&ItemID=3">éæè²¨å¯éæ¹æ³</a></li> 1952 <li><a href="/FAQ/?CatID=4">ç¶²ç«ä½¿ç¨åé¡</a></li> 1953 <li><a href="/FAQ/?CatID=5">å¦ä½ä½¿ç¨æå¡å°å</a></li> 1954 </ul> 1955 </div> 1956 </div> 1957 <div class="business-r"> 1958 <button class="fb-fans" type=""> 1959 <img src="/Content/images/footer-btn-img.png" alt="ç°çæè®æ¸FBç²çµ²å"> 1960 </button> 1961 <button class="e-news" type=""> 1962 <div class="business-rFeedback" style="display: none;"> 1963 <div class="subscribewrap"> 1964 <span class="mailsend">E-mail</span> 1965 <span class="subscribeBtn">éåº</span> 1966 <input class="subscribeInput" type="text" placeholder="è«è¼¸å ¥æ¨çE-Mail"> 1967 </div> 1968 </div> 1969 <img src="/Content/images/footer-btn-img.png" alt="è¨é±é»åå ±"> 1970 </button> 1971 <div class="twca-wrap"> 1972 <div id="twcaseal" class="MINI"> 1973 <img src="/Content/images/twca.GIF" alt="TWCAèªè"> 1974 <img id="twcad3" 1975 src="//ssllogo.twca.com.tw/Check_OK.gif"> 1976 <div id="twcad1">å·²èªè</div> 1977 <div id="twcad2" style="visibility: hidden;"> 1978 æ¨ç¾å¨æä¸çç¶²ç«æ¯ ç°çæè®æ¸<br>ç¶²åæ¯ www.iread.com.tw<br>ä¸è¿°è³è¨å徿é 1979 2025/09/24<br>å¦éç¶²ç«æè詳細è³è¨,è«é»é¸ æ¨ç« <br> 1980 </div> 1981 </div> 1982
1982<script type="text/javascript" charset="utf-8">var twca_cn = "www.iread.com.tw";</script>
1982 1983
1983<script type="text/javascript" src="//ssllogo.twca.com.tw/twcaseal_v3.js" charset="utf-8"></script>
1983 1984 </div> 1985 </div> 1986 </div> 1987 <div class="copyrights"> 1988 <p>è¯èæ¸ä½è¡ä»½æéå ¬å¸ çµ±ç·¨ : 70696235ãå°åï¼èºç£ 234 æ°å叿°¸ååæåè·¯ä¸æ®µ80è18æ¨</p> 1989 <p> 1990 客æä¿¡ç®±ï¼<a href="mailto:[email protected]">[email protected]</a> 1991 </p> 1992 <small>Copyright © 2025 <strong>Airiti Inc.</strong> All rights reserved.</small> 1993 </div> 1994 1995 </footer> 1996 1997</body>
1998<script>
vendor: 425 bytes, lines 1998-2006
1998 1999 (function (w, d, s, l, i) { 2000 w[l] = w[l] || []; w[l].push({ 2001 'gtm.start': 2002 new Date().getTime(), event: 'gtm.js' 2003 }); var f = d.getElementsByTagName(s)[0], 2004 j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 2005 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); 2006 })(window, document, 'script', 'dataLayer', '
2006GTM-57Z974V
vendor: 3 bytes, line 2006
2006');
2006</script>
2006 2007 2008</html>
2009<script> 2010 //footerç å 寫å¨éé 2011 //$(".e-news").on('click', function () { 2012 // $(".business-rFeedback").show(); 2013 //}); 2014 2015 2016 //$(".fb-fans").click(function () { 2017 // document.location.href = "https://www.facebook.com/ireadcomtw/"; 2018 //}); 2019 2020 2021 //$(".subscribeBtn").on('click', function () { 2022 // var Email = $('.subscribeInput').val(); 2023 2024 // if (Email == null || Email.trim() == "") { 2025 // alert("è«è¼¸å ¥Email"); 2026 // return false 2027 // } else if (!/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/.test(Email)) { 2028 // alert("Emailæ ¼å¼ä¸æ£ç¢º"); 2029 // return false 2030 // } 2031 2032 2033 // $.ajax({ 2034 // url: '/Home/ajaxENews', 2035 // data: { 2036 // 'Email': Email, 2037 // }, 2038 // success: function (error) { 2039 // if (error == 'æ¨å·²åæ¶é»åå ±') { 2040 // $(".cancelMsg").show(); // æ¨å·²åæ¶é»åå ± 2041 // $(".cancelMail").text(Email); 2042 // } else { 2043 // $(".subscribeMsg").show(); //æ¨å·²è¨é±é»åå ± 2044 // $(".subscribeMail").text(Email); 2045 // } 2046 // }, 2047 // error: function () { 2048 // alert('è¨é±å¤±æ'); 2049 // } 2050 // }); 2051 //}); 2052 2053 //$(".msg_closeBtn").on('click', function () { 2054 // $(".subscribeMsg").hide(); 2055 // $(".cancelMsg").hide(); 2056 // $(".business-rFeedback").hide(); 2057 //}); 2058 2059</script>
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.