1/*-------------------------------------------------------------- 2 3 jcom_api.js for API2019 4 2025/7/29 æ´æ° 5 6--------------------------------------------------------------*/ 7// stageæã¯apiãstageãåç §ããããã®å¤å® 8var isStage = (location.hostname.match(/stage-www2/)) ? true : false; 9isStage = false; // ã¹ãã¼ã¸ãå ¬éAPIãåç §ããã2018/10/15 10var isMyjcom = (location.hostname.match(/www2.myjcom.jp/) || location.hostname.match(/myjcom.weska.me/)) ? true : false; 11var api_php_path = "/special/common/js/api.php?"; // 2019å¹´çAPIç¨ 12var jsonpCallbackUID = 0; 13 14/*-------------------------------------------------------------- 15 2019/4/8 16 ãªã¯ã¨ã¹ãURLã使 17--------------------------------------------------------------*/ 18function getAPIRequestQuery(searchObj,flag){ 19 var query = ""; 20 for(var key in searchObj){ 21 var val = searchObj[key]; 22 if(key == 'query'){ 23 if(flag){ 24 val = val.replace(/ /g,'+'); 25 val = val.replace(/ã/g,'+'); 26 }else{ 27 val = encodeURIComponent(val); 28 } 29 } 30 if(key != 'keyword') query += "&"+key+"="+val; 31 } 32 33 //trace("jcom_api.js query "+query); 34 if(!flag){ 35 return query;//encodeURIComponent(query) 36 }else{ 37 return encodeURIComponent(query); 38 } 39} 40 41 42/*-------------------------------------------------------------- 43 apiã®èªã¿è¾¼ã¿å®äºã//ãæªå®è£ 44--------------------------------------------------------------*/ 45function jcomApiLoaded(str){ 46 //trace("èªã¿è¾¼ã¿å®äºï¼"+str); 47 // æ¡ä»¶æ¯ã«overrideãã¦å©ç¨ããã 48} 49 50/*============================================== 51 52 2020/3/19 53 ã©ã³ãã³ã°API 54 55 // APIãã©ã¡ã¼ã¿ 56 var searchObj = { 57 rankingType:1, // å¿ é ã©ã³ãã³ã°ç¨®å¥ï¼1(ãªã¢é²é±é)ã2(ãªã¢é²æé) 58 channelType:2, // å¿ é æ¾é波種å¥ï¼2(å°ãã¸)ã3(BS)ã120(CATV)ã200(ã³ãã¥ãã£ã³) 59 genreId:3, // ä»»æ ã¸ã£ã³ã«IDï¼MINDSã§å®ç¾©ããã¦ãã親ã¾ãã¯åã¸ã£ã³ã«IDããããã1種ãæå®å¯è½ã 60 backNumber:2, // ä»»æ éå»ã©ã³ãã³ã° 61 limit:30, // ä»»æ ä»¶æ°ï¼ï¼1ã100ï¼ 62 areaId:108, // ä»»æ ã¨ãªã¢ID 63 }; 64 65 // å¶å¾¡ç¨ãã©ã¡ã¼ã¿ 66 var statusObj = { 67 uid:0, // UID 68 serchTxt:['è¯','ä¸å½ãã©ã'],// æ¤ç´¢çµæãããã¼ã¯ã¼ãã§çµãè¾¼ããç¬èªå®è£ 69 container:'.remoroku_ranking_list', //æ ¼ç´ã³ã³ããï¼.ä»ãã®æååã§æå®ï¼ããã©ã«ãï¼.ranking_listãçç¥å¯ 70 noimage:'/special/common/images/no_image_800x448.jpg', //ç»åããªãå ´åã®ä»£æ¿ãç»åãçç¥å¯ 71 callback:'searchRankingAPIComplete', // ã³ã¼ã«ããã¯é¢æ° ããã©ã«ãï¼searchProgramAPICompleteãçç¥å¯ 72 }; 73 74 // ãã¼ã¿å¼ã³åºã 75 getJcomRankingList(searchObj,statusObj); 76 77==============================================*/ 78 79function getJcomRankingList(_searchObj,_statusObj){ 80 setCurrentTimeForAPI(); 81 82 var user_area_id = jQuery.cookie("area_id"); 83 if(user_area_id == undefined){ 84 user_area_id = 12; 85 } 86 var searchObj = {}; 87 var statusObj = {}; 88 89 // _searchObjããAPIæ¤ç´¢ç¨Objãæ½åº 90 91 if(_searchObj.rankingType != null){ 92 searchObj.rankingType = _searchObj.rankingType; 93 } 94 if(_searchObj.channelType != null){ 95 searchObj.channelType = _searchObj.channelType; 96 } 97 if(_searchObj.genreId != null){ 98 searchObj.genreId = _searchObj.genreId; 99 } 100 if(_searchObj.backNumber != null){ 101 searchObj.backNumber = _searchObj.backNumber; 102 } 103 if(_searchObj.limit != null){ 104 searchObj.limit = _searchObj.limit; 105 } 106 if(_searchObj.areaId != null){ 107 searchObj.areaId = _searchObj.areaId; 108 } 109 110 111 // _statusObjããå¶å¾¡ç¨Objãæ½åº 112 if(_statusObj.uid != null) statusObj.uid = _statusObj.uid; 113 if(_statusObj.container != null){ 114 statusObj.container = _statusObj.container; 115 }else{ 116 statusObj.container = '.ranking_list'; 117 } 118 if(_statusObj.container_parent != null){ 119 statusObj.container_parent = _statusObj.container_parent; 120 } 121 if(_statusObj.noimage != null){ 122 statusObj.noimage = _statusObj.noimage; 123 }else{ 124 statusObj.noimage = '/special/common/images/no_image_800x448.jpg'; 125 } 126 if(_statusObj.callback != null){ 127 statusObj.callback = _statusObj.callback; 128 }else{
129 statusObj.callback = "searchRankingAPIComplete"; 130 } 131 if(_statusObj.serchTxt != null){ 132 statusObj.serchTxt = _statusObj.serchTxt; 133 }else{ 134 statusObj.serchTxt = []; 135 } 136 137 // ã³ã¼ã«ããã¯ãã©ã¡ã¼ã¿åã®æå® 138 jsonpCallbackUID ++; 139 statusObj.jsonpCallback = 'ranking'+jsonpCallbackUID; 140 141 searchJCOMRankingAPI(searchObj,statusObj); 142} 143 144 145// æ¥ä» 146function formatDateYYYYMMDDhhmmss(str,format){ 147 var yyyy = str.substr(0,4); 148 var mm = str.substr(4,2); 149 var dd = str.substr(6,2); 150 return yyyy+format[0]+mm+format[1]+dd+format[2]; 151} 152function formatDateYYYYMMDDhhmmss_short(str){ 153 var yyyy = str.substr(0,4); 154 var mm = Number(str.substr(4,2)); 155 var dd = Number(str.substr(6,2)); 156 return mm+"/"+dd; 157} 158function YYYYMMDDhhmmssToDateObj(str){ 159 var yyyy = str.substr(0,4); 160 var mm = str.substr(4,2); 161 var dd = str.substr(6,2); 162 var h = str.substr(8,2); 163 var m = str.substr(10,2); 164 var s = str.substr(12,2); 165 var date = new Date(yyyy+'/'+mm+'/'+dd+' '+h+':'+m+':'+s); 166 return date; 167} 168 169 170/*-------------------------------------------------------------- 171 ã©ã³ãã³ã°APIï¼æ¤ç´¢ 172--------------------------------------------------------------*/ 173function searchJCOMRankingAPI(searchObj,statusObj){ 174 175 trace('ã©ã³ãã³ã°APIï¼jcom_apiï¼ï¼æ¤ç´¢'); 176 var result = []; 177 var message = ""; 178 var dataType = "jsonp"; 179 var jsonpCallback = statusObj.jsonpCallback; 180 var url = "https://tvguide.myjcom.jp/api/getRankingInfo/?"; 181 182 trace("jsonpCallback "+jsonpCallback); 183 trace(searchObj); 184 trace(statusObj); 185 186 if(isMyjcom){ 187 url += "callback=?"+getAPIRequestQuery(searchObj,false); 188 trace("ã©ã³ãã³ã°APIï¼jcom_apiï¼ï¼myjcom "+url); 189 }else{ 190 var param = getAPIRequestQuery(searchObj,true); 191 url = api_php_path+'wrp='+jsonpCallback+'&url='+url+param; 192 url = location.protocol+"//"+location.host+url; // ãã¼ã«ã«ããã¢ã¯ã»ã¹ã§ãããã絶対ãã¹ã§æå® 193 trace("ã©ã³ãã³ã°APIï¼jcom_apiï¼ï¼other "+url); 194 } 195 196 var callback = statusObj.callback; 197 var load_status; 198 199 $.ajax({ 200 url: url, 201 type:'POST', 202 dataType: dataType, 203 jsonpCallback: jsonpCallback 204 }).done(function(data){ // Ajaxãªã¯ã¨ã¹ããæåããæçºå 205 trace("ã©ã³ãã³ã°APIï¼jcom_apiï¼ï¼DONE"); 206 207 if(data === undefined) { 208 result = ['æ¤ç´¢å¤±æ']; 209 load_status = 2; 210 trace("æ¤ç´¢å¤±æ"); 211 return; 212 } 213 214 // trace("======================"); 215 // trace(data); 216 load_status = data.status; 217 if(load_status != 0) return; 218 var pdata = data.RankingList; 219 220 var format_ja = ['å¹´','æ','æ¥']; 221 var format_en = ['/','/','']; 222 var summaryFrom = formatDateYYYYMMDDhhmmss(data.summaryFrom,format_ja); 223 var summaryTo = formatDateYYYYMMDDhhmmss(data.summaryTo,format_ja); 224 var summaryFrom_en = formatDateYYYYMMDDhhmmss(data.summaryFrom,format_en); 225 var summaryTo_en = formatDateYYYYMMDDhhmmss(data.summaryTo,format_en); 226 var summaryFrom_short = formatDateYYYYMMDDhhmmss_short(data.summaryFrom); 227 var summaryTo_short = formatDateYYYYMMDDhhmmss_short(data.summaryTo); 228 statusObj.summaryFrom = summaryFrom; 229 statusObj.summaryTo = summaryTo; 230 statusObj.summaryFrom_en = summaryFrom_en; 231 statusObj.summaryTo_en = summaryTo_en; 232 statusObj.summaryFrom_short = summaryFrom_short; 233 statusObj.summaryTo_short = summaryTo_short; 234 statusObj.summaryFromOrg = data.summaryFrom; 235 statusObj.summaryToOrg = data.summaryTo; 236 var isMoreSerch = (statusObj.serchTxt.length != 0) ? true : false; 237 238 if(pdata.length != 0){ 239 var rank = 1; 240 var limit = statusObj.limit; 241 242 var nowtime = new Date(); 243 nowYear = formatDate(nowtime, 'YYYY'); 244 nowMonth = formatDate(nowtime, 'MM'); 245 nowDay = formatDate(nowtime, 'DD'); 246 247 // APIã®æ»ãå¤ãNGã¯ã¼ãå¦çãã¦æ¤ç´¢çµæãã¼ã¿ã使 248 jQuery.each(pdata, function(key, val){ 249 250 //trace(val); 251 var score = val.score; 252 var prevRank = (val.prevRank != "") ? val.prevRank : "-"; 253 var programId = val.programId; 254 var title = val.title; 255 var url = val.url; 256 var photos = val.photos; 257 var defaultChannelLogoUrl = val.defaultChannelLogoUrl; 258 var channelLogoUrl = val.channelLogoUrl; 259 var channelName = val.channelName; 260 var nextBroadcast = val.nextBroadcast; 261 var warningMessage = val.warningMessage; 262 var errorCode = val.errorCode; 263 var errorMessage = val.errorMessage; 264 var status = 'DOWN'; 265 266 if(rank == prevRank){ 267 status = "STAY"; 268 }else if(rank < prevRank){ 269 status = "UP"; 270 }else if(prevRank == ""){ 271 status = "NEW"; 272 } 273 274 var obj = { 275 rank:rank, 276 score:score, 277 prevRank:prevRank, 278 status:status, 279 programId:programId, 280 title:title, 281 url:url, 282 hasPhoto:false, 283 hasChannelLogo:false, 284 defaultChannelLogoUrl:defaultChannelLogoUrl, 285 channelLogoUrl:channelLogoUrl, 286 channelName:channelName, 287 warningMessage:warningMessage, 288 nextBroadcast:nextBroadcast, 289 errorCode:errorCode, 290 errorMessage:errorMessage, 291 hasNextBroadcast:false, 292 noimage:statusObj.noimage 293 }; 294 295 // ããã©ã«ããã£ã³ãã«ãã´ 296 if(defaultChannelLogoUrl){ 297 obj.hasChannelLogo = true; 298 } 299 300 // ã¡ã¤ã³åç 301 if(photos.length != 0){ 302 obj.photo = photos[0].photo; 303 obj.copyright = photos[0].copyright; 304 obj.hasPhoto = true; 305 }else{ 306 obj.photo = statusObj.noimage; 307 obj.copyright = ""; 308 } 309 310 // çªçµæ å ± 311 if(nextBroadcast.length != 0){ 312 // æ¾éæé 313 var next_dateObj = YYYYMMDDhhmmssToDateObj(nextBroadcast[0].startDateTime); 314 var onairTimeObj = checkThisProgramNowOnair(next_dateObj,nextBroadcast[0].startDateTime,nextBroadcast[0].endDateTime); 315 316 obj.eid = nextBroadcast[0].eid; 317 obj.nextTitle = nextBroadcast[0].nextTitle; 318 obj.startDateTime = nextBroadcast[0].startDateTime; 319 obj.endDateTime = nextBroadcast[0].endDateTime; 320 obj.airTime = nextBroadcast[0].airTime; 321 obj.genreIds = nextBroadcast[0].genreIds; 322 obj.serviceCode = nextBroadcast[0].serviceCode; 323 obj.channelNo = nextBroadcast[0].channelNo; 324 obj.channelName = nextBroadcast[0].channelName; 325 obj.channelLogoUrl = nextBroadcast[0].channelLogoUrl; 326 obj.hasNextBroadcast = true; 327 obj.nowonair = onairTimeObj.nowonair; 328 obj.todayonair = onairTimeObj.todayonair; 329 330 } 331 332 // è¿½å æ¤ç´¢ã¯ã¼ãã§çµãè¾¼ãk 333 if(isMoreSerch){ 334 var isHit = false;
335 336 var len = statusObj.serchTxt.length; 337 for(var i=0;i<len;i++){ 338 var word = statusObj.serchTxt[i]; 339 //if(title.indexOf(word) != -1) isHit = true; 340 if (title.includes(word)) isHit = true; 341 }// for 342 343 if(isHit){ 344 result.push(obj); 345 rank++; 346 } 347 }else{ 348 result.push(obj); 349 rank++; 350 } 351 352 });//jQuery.each 353 354 }else{ 355 // æ¤ç´¢çµæãªã 356 result = ['æ¤ç´¢çµæã¯ããã¾ãã']; 357 load_status = 1; 358 } 359 }).fail(function(data){ // Ajaxãªã¯ã¨ã¹ãã失æããæçºå 360 result = ["APIã¨ã©ã¼ï¼"+data.errorMassage]; 361 load_status = 2; 362 trace("ã©ã³ãã³ã°APIï¼jcom_apiï¼ï¼FAIL "+result); 363 364 }).always(function(data){ // Ajaxãªã¯ã¨ã¹ããæåã»å¤±æã©ã¡ãã§ãçºå 365 trace("ã©ã³ãã³ã°APIï¼jcom_apiï¼ï¼ALWAYS"); 366 trace(searchObj); 367 trace(statusObj); 368 trace(data); 369 370 statusObj.api_type = 'ranking'; 371 if(callback != null) parent[callback](result,load_status,searchObj,statusObj); 372 }); 373 374} 375 376 377/*============================================== 378 379 2020/3/13 380 é¢é£çªçµåå¾API 381 getRelatedProgramInfo 382 383 // APIãã©ã¡ã¼ã¿ 384 var searchObj = { 385 //[01]:[02], // [03] [04] [06] åæå¤ï¼[05]ï¼ 386 tag:'ãããã¢ã¡ãªã«ã³ãã©ã¼ï¼,ã³ã³ãã®åã§äºä»¶ã解決!', // å¿ é é¢é£çªçµã¿ã° åæå¤ï¼-ï¼ 387 exclude:0, // ä»»æ çªçµé¤å¤ 0(é¤å¤ããªã) 1(é¤å¤ãã) åæå¤ï¼1ï¼ 388 sourceChannelType:3, // æ¡ä»¶ æ¤ç´¢å çªçµæ¾éæ³¢ 2(å°ä¸æ³¢)3(BS)120(CATV)200(ã³ãã¥ããã£ãã£ã³ãã«) åæå¤ï¼-ï¼ 389 sourceServiceCode:'29752_32295', // ä»»æ æ¤ç´¢å çªçµãµã¼ãã¹ã³ã¼ã åæå¤ï¼-ï¼ 390 sourceEventId:40273, // ä»»æ æ¤ç´¢å çªçµã¤ãã³ãID åæå¤ï¼-ï¼ 391 sourceProgramDate:20130911, // ä»»æ æ¤ç´¢å çªçµæ¾éæ¥ åæå¤ï¼-ï¼ 392 areaId:30, // å¿ é ã¨ãªã¢ID åæå¤ï¼-ï¼ 393 serviceCode:'191_4,570_65406', // ä»»æ ãµã¼ãã¹ã³ã¼ã åæå¤ï¼-ï¼ 394 genreId:'62,4', // ä»»æ ã¸ã£ã³ã«ID åæå¤ï¼-ï¼ 395 since:'201702011200', // ä»»æ æ¾éæ¥ï¼éå§ï¼ åæå¤ï¼ç¾å¨æ¥æï¼ 396 until:'201702811200', // ä»»æ æ¾éæ¥ï¼çµäºï¼ åæå¤ï¼-ï¼ 397 adult:1, // ä»»æ ã¢ãã«ããã£ã³ãã«å¶å¾¡ 0(å«ããªã) 1(å«ãã) åæå¤ï¼0ï¼ 398 limit:50, // ä»»æ æå¤§åå¾ä»¶æ° åæå¤ï¼20ï¼ 399 400 }; 401 402 // å¶å¾¡ç¨ãã©ã¡ã¼ã¿ 403 var statusObj = { 404 uid:0, // UID 405 container:'.ranking_list', //æ ¼ç´ã³ã³ããï¼.ä»ãã®æååã§æå®ï¼ããã©ã«ãï¼.ranking_listãçç¥å¯ 406 noimage:'/special/common/images/no_image_800x448.jpg', //ç»åããªãå ´åã®ä»£æ¿ãç»åãçç¥å¯ 407 callback:'searchRelatedProgramAPIComplete', // ã³ã¼ã«ããã¯é¢æ° ããã©ã«ãï¼searchRelatedProgramAPICompleteãçç¥å¯ 408 }; 409 410 // ãã¼ã¿å¼ã³åºã 411 getJcomRelatedProgramList(searchObj,statusObj); 412 413==============================================*/ 414 415function getJcomRelatedProgramList(_searchObj,_statusObj){ 416 setCurrentTimeForAPI(); 417 418 var user_area_id = jQuery.cookie("area_id"); 419 if(user_area_id == undefined){ 420 user_area_id = 12; 421 } 422 var searchObj = {}; 423 var statusObj = {}; 424 425 // _searchObjããAPIæ¤ç´¢ç¨Objãæ½åº 426 427 if(_searchObj.tag != null){ 428 searchObj.tag = _searchObj.tag; 429 } 430 if(_searchObj.exclude != null){ 431 searchObj.exclude = _searchObj.exclude; 432 } 433 if(_searchObj.sourceChannelType != null){ 434 searchObj.sourceChannelType = _searchObj.sourceChannelType; 435 } 436 if(_searchObj.sourceServiceCode != null){ 437 searchObj.sourceServiceCode = _searchObj.sourceServiceCode; 438 } 439 if(_searchObj.sourceEventId != null){ 440 searchObj.sourceEventId = _searchObj.sourceEventId; 441 } 442 if(_searchObj.sourceProgramDate != null){ 443 searchObj.sourceProgramDate = _searchObj.sourceProgramDate; 444 } 445 if(_searchObj.areaId != null){ 446 searchObj.areaId = _searchObj.areaId; 447 }else{ 448 searchObj.areaId = user_area_id; 449 } 450 if(_searchObj.serviceCode != null){ 451 searchObj.serviceCode = _searchObj.serviceCode; 452 } 453 if(_searchObj.genreId != null){ 454 searchObj.genreId = _searchObj.genreId; 455 } 456 if(_searchObj.since != null){ 457 searchObj.since = _searchObj.since; 458 } 459 if(_searchObj.until != null){ 460 searchObj.until = _searchObj.until; 461 }
462 if(_searchObj.adult != null){ 463 searchObj.adult = _searchObj.adult; 464 } 465 if(_searchObj.limit != null){ 466 searchObj.limit = _searchObj.limit; 467 } 468 469 // _statusObjããå¶å¾¡ç¨Objãæ½åº 470 if(_statusObj.uid != null) statusObj.uid = _statusObj.uid; 471 if(_statusObj.container != null){ 472 statusObj.container = _statusObj.container; 473 }else{ 474 statusObj.container = '.ranking_list'; 475 } 476 if(_statusObj.container_parent != null){ 477 statusObj.container_parent = _statusObj.container_parent; 478 } 479 if(_statusObj.noimage != null){ 480 statusObj.noimage = _statusObj.noimage; 481 }else{ 482 statusObj.noimage = '/special/common/images/no_image_800x448.jpg'; 483 } 484 if(_statusObj.callback != null){ 485 statusObj.callback = _statusObj.callback; 486 }else{ 487 statusObj.callback = "searchRelatedProgramAPIComplete"; 488 } 489 490 // ã³ã¼ã«ããã¯ãã©ã¡ã¼ã¿åã®æå® 491 jsonpCallbackUID ++; 492 statusObj.jsonpCallback = 'relationProgram'+jsonpCallbackUID; 493 494 searchJcomRelatedProgramAPI(searchObj,statusObj); 495} 496 497 498/*-------------------------------------------------------------- 499 é¢é£çªçµAPIï¼æ¤ç´¢ 500--------------------------------------------------------------*/ 501function searchJcomRelatedProgramAPI(searchObj,statusObj){ 502 trace('é¢é£çªçµAPIï¼jcom_apiï¼ï¼æ¤ç´¢'); 503 var result = []; 504 var message = ""; 505 var dataType = "jsonp"; 506 var jsonpCallback = statusObj.jsonpCallback; 507 var url = "https://tvguide.myjcom.jp/api/getRelatedProgramInfo/?"; 508 509 trace("jsonpCallback "+jsonpCallback); 510 trace(searchObj); 511 trace(statusObj); 512 513 if(isMyjcom){ 514 url += "callback=?"+getAPIRequestQuery(searchObj,false); 515 trace("é¢é£çªçµAPIï¼jcom_apiï¼ï¼myjcom "+url); 516 }else{ 517 var param = getAPIRequestQuery(searchObj,true); 518 url = api_php_path+'wrp='+jsonpCallback+'&url='+url+param; 519 url = location.protocol+"//"+location.host+url; // ãã¼ã«ã«ããã¢ã¯ã»ã¹ã§ãããã絶対ãã¹ã§æå® 520 trace("é¢é£çªçµAPIï¼jcom_apiï¼ï¼other "+url); 521 } 522 523 var callback = statusObj.callback; 524 var load_status; 525 526 $.ajax({ 527 url: url, 528 type:'POST', 529 dataType: dataType, 530 jsonpCallback: jsonpCallback 531 }).done(function(data){ // Ajaxãªã¯ã¨ã¹ããæåããæçºå 532 trace("é¢é£çªçµAPIï¼jcom_apiï¼ï¼DONE"); 533 534 if(data === undefined) { 535 result = ['æ¤ç´¢å¤±æ']; 536 load_status = 2; 537 trace("æ¤ç´¢å¤±æ"); 538 return; 539 } 540 541 // trace("======================"); 542 // trace(data); 543 load_status = data.status; 544 totalCount = data.totalCount; 545 if(load_status != 0) return; 546 if(totalCount == 0) return; 547 548 var pdata = data.tags[0].programs; 549 trace(pdata); 550 551 if(pdata.length != 0){ 552 553 var limit = statusObj.limit; 554 555 var nowtime = new Date(); 556 nowYear = formatDate(nowtime, 'YYYY'); 557 nowMonth = formatDate(nowtime, 'MM'); 558 nowDay = formatDate(nowtime, 'DD'); 559 560 // APIã®æ»ãå¤ãNGã¯ã¼ãå¦çãã¦æ¤ç´¢çµæãã¼ã¿ã使 561 jQuery.each(pdata, function(key, val){ 562 var title = val.title; // çªçµå 563 var startTimeOrg = val.startTime; // æ¾ééå§æ¥æ 564 var endTimeOrg = val.endTime; // æ¾éçµäºæ¥æ 565 var airTime = val.airTime; // æ¾éæé 566 var programDate = val.programDate; // æ¾éæ¥ 567 var eventId = val.eventId; // ã¤ãã³ãID 568 var serviceCode = val.serviceCode; // ãµã¼ãã¹ã³ã¼ã 569 var channelType = val.channelType; // æ¾éæ³¢ 570 var channelNo = val.channelNo; // ãã£ã³ãã«çªå· 571 var channelName = val.channelName; // ãã£ã³ãã«å 572 var channelLogoUrl = val.channelLogoUrl; // ãã£ã³ãã«ãã´ãã¡ã¤ã«URL 573 var genreIds = val.genreIds; // ã¸ã£ã³ã«ID 574 var summary = val.summary; // çªçµæ¦è¦ 575 //var url = 'https://tvguide.myjcom.jp/'+val.url; // çªçµè©³ç´°URL 576 var url = val.url; // çªçµè©³ç´°URL 577 var photos = val.photo; // çªçµå±æ§ãªã¹ã 578 579 var date = val.startTime.slice(0,4) + '/' + val.startTime.slice(4,6) + '/' + val.startTime.slice(6,8); // æ¾éæ¥yyyy/mm/ddã« 580 var dateObj = new Date(date); 581 var datestr = formatDate(new Date(date), 'MMæDDæ¥ï¼Wï¼'); 582 var startTime = val.startTime.slice(8,10) + ':' + val.startTime.slice(10,12); 583 var endTime = val.endTime.slice(8,10) + ':' + val.endTime.slice(10,12); 584 var channel_icon_id = channel_icon[val.channelName]; 585
586 var month = formatDate(dateObj, 'MM'); 587 var day = formatDate(dateObj, 'DD'); 588 var week = formatDate(dateObj, 'W'); 589 590 var datestr_single = Number(month)+'æ'+Number(day)+'æ¥ï¼'+week+'ï¼'; 591 var datestr_simple = month+'/'+day+'ï¼'+week+'ï¼'; 592 var datestr_simple_single = Number(month)+'/'+Number(day)+'ï¼'+week+'ï¼'; 593 var datestr_simple_single2 = Number(month)+'/'+Number(day)+'('+week+')'; 594 595 var obj = { 596 title:title, 597 startTimeOrg:startTimeOrg, 598 endTimeOrg:endTimeOrg, 599 startTime:startTime, 600 endTime:endTime, 601 airTime:airTime, 602 programDate:programDate, 603 date:datestr, 604 eventId:eventId, 605 serviceCode:serviceCode, 606 channelType:channelType, 607 channelNo:channelNo, 608 channelName:channelName, 609 channelLogoUrl:channelLogoUrl, 610 genreIds:genreIds, 611 summary:summary, 612 url:url, 613 photos:photos, 614 dateObj:dateObj, 615 datestr_single:datestr_single, 616 datestr_simple:datestr_simple, 617 datestr_simple_single:datestr_simple_single, 618 datestr_simple_single2:datestr_simple_single2, 619 }; 620 621 // ã¡ã¤ã³åç 622 if(photos.length != 0){ 623 obj.photo = 'https://tvguide.myjcom.jp/'+photos[0].photo; 624 obj.copyright = photos[0].copyright; 625 obj.hasPhoto = true; 626 }else{ 627 obj.photo = statusObj.noimage; 628 obj.copyright = ""; 629 } 630 631 result.push(obj); 632 633 634 });//jQuery.each 635 636 }else{ 637 // æ¤ç´¢çµæãªã 638 result = ['æ¤ç´¢çµæã¯ããã¾ãã']; 639 load_status = 1; 640 } 641 }).fail(function(data){ // Ajaxãªã¯ã¨ã¹ãã失æããæçºå 642 result = ["APIã¨ã©ã¼ï¼"+data.errorMassage]; 643 load_status = 2; 644 trace("é¢é£çªçµAPIï¼jcom_apiï¼ï¼FAIL "+result); 645 }).always(function(data){ // Ajaxãªã¯ã¨ã¹ããæåã»å¤±æã©ã¡ãã§ãçºå 646 trace("é¢é£çªçµAPIï¼jcom_apiï¼ï¼ALWAYS"); 647 trace(searchObj); 648 trace(statusObj); 649 trace(data); 650 651 searchObj.searchBtnURL = 'https://tvguide.myjcom.jp/search/event/?tag='+searchObj.tag; 652 653 statusObj.api_type = 'related'; 654 if(callback != null) parent[callback](result,load_status,searchObj,statusObj); 655 }); 656 657} 658 659 660 661/*============================================== 662 663 2019/2/18 664 ã¤ãã³ããã¬ã¼ã³ãAPI 665 666 // APIãã©ã¡ã¼ã¿ 667 var searchObj = { 668 title: "", 669 addKeywords: "", 670 mso: "", 671 channel: "", 672 magazine: "", 673 limit: "", 674 order: "" 675 }; 676 677 // "displayListStartDate desc" // æ°ç éé ãææ°ãå ï¼ããã©ã«ããçç¥åï¼ 678 // "displayListStartDate aesc" // æ°ç æé 679 // "displayListEndDate desc" // éãåã æé 680 // "displayListEndDate aesc" // éãåã æé ç· ãåããè¿ãé 681 682 // å¶å¾¡ç¨ãã©ã¡ã¼ã¿ 683 var statusObj = { 684 uid:0, // UID 685 addCC:false, // ãªã³ã¯ã«ccã追å ããã 686 ignoreDate:false, // æ²è¼éå§ææåãã¾ãã¯æ²è¼éå§æææãæªè¨å®ã§ã表示ããï¼trueï¼è¡¨ç¤ºããªãï¼falseï¼ 687 container:'.event_present_list_container', //æ ¼ç´ã³ã³ããï¼.ä»ãã®æååã§æå®ï¼ããã©ã«ãï¼.event_present_list_containerãçç¥å¯ 688 wrpper:'.section_present_api', //æ ¼ç´ã»ã¯ã·ã§ã³ï¼.ä»ãã®æååã§æå®ï¼ããã©ã«ãï¼.section_present_apiãçç¥å¯ 689 callback:'searchProgramAPIComplete' // ã³ã¼ã«ããã¯é¢æ° ããã©ã«ãï¼searchProgramAPICompleteãçç¥å¯ 690 }; 691 692 // ãã¼ã¿å¼ã³åºã 693 getJcomEventPresentList(searchObj,statusObj); 694 695==============================================*/ 696function getJcomEventPresentList(_searchObj,_statusObj){ 697 trace("ã¤ãã³ããã¬ã¼ã³ãAPI getJcomEventPresentList"); 698 setCurrentTimeForAPI(); 699 700 var searchObj = {}; 701 var statusObj = {}; 702 703 // _searchObjããAPIæ¤ç´¢ç¨Objãæ½åº 704 705 if(_searchObj.limit != null){ 706 statusObj.limit = _searchObj.limit; 707 }else{ 708 searchObj.limit = ""; 709 } 710 if(_searchObj.title != null){ 711 searchObj.title = _searchObj.title; 712 }else{ 713 searchObj.title = ""; 714 } 715 if(_searchObj.addKeywords != null){ 716 searchObj.addKeywords = _searchObj.addKeywords; 717 }else{ 718 searchObj.addKeywords = ""; 719 } 720 if(_searchObj.channel != null){ 721 searchObj.channel = _searchObj.channel; 722 }else{ 723 searchObj.channel = ""; 724 } 725 if(_searchObj.mso != null){ 726 searchObj.mso = _searchObj.mso; 727 }else{ 728 searchObj.mso = ""; 729 } 730 if(_searchObj.magazine != null){ 731 searchObj.magazine = _searchObj.magazine; 732 }else{ 733 searchObj.magazine = ""; 734 } 735 if(_searchObj.order != null){ 736 searchObj.order = _searchObj.order;
737 }else{ 738 searchObj.order = "displayListStartDate desc"; 739 } 740 741 // _statusObjããå¶å¾¡ç¨Objãæ½åº 742 743 if(_statusObj.uid != null) statusObj.uid = _statusObj.uid; 744 if(_statusObj.container != null){ 745 statusObj.container = _statusObj.container; 746 }else{ 747 statusObj.container = '.event_present_list_container'; 748 } 749 if(_statusObj.container_parent != null){ 750 statusObj.container_parent = _statusObj.container_parent; 751 } 752 if(_statusObj.callback != null){ 753 statusObj.callback = _statusObj.callback; 754 }else{ 755 statusObj.callback = "searchEventPresentAPIComplete"; 756 } 757 if(_statusObj.addCC != null){ 758 statusObj.addCC = _statusObj.addCC; 759 }else{ 760 statusObj.addCC = false; 761 } 762 if(_statusObj.ignoreDate != null){ 763 statusObj.ignoreDate = _statusObj.ignoreDate; 764 }else{ 765 statusObj.ignoreDate = false; 766 } 767 768 if(_statusObj.wrpper != null){ 769 statusObj.wrpper = _statusObj.wrpper; 770 }else{ 771 statusObj.wrpper = "section_present_api"; 772 } 773 774 /** 775 if(statusObj.uid == 0){ 776 trace("------------------------ã"+statusObj.uid) 777 trace(searchObj); 778 trace(statusObj); 779 trace(statusObj.container); 780 } 781 //output(searchObj); 782 //output(statusObj); 783 /**/ 784 searchJCOMEventPresentAPI(searchObj,statusObj); 785} 786 787 788/*-------------------------------------------------------------- 789 2018/10/25 790 ã¤ãã³ããã¬ã¼ã³ãAPIï¼æ¤ç´¢ 791--------------------------------------------------------------*/ 792function searchJCOMEventPresentAPI(searchObj,statusObj){ 793 trace("ã¤ãã³ããã¬ã¼ã³ãAPIï¼æ¤ç´¢éå§ï¼jcom_apiï¼"); 794 795 var message = ""; 796 var url = "https://c.myjcom.jp/jsonp/event_present.js?callback=?"; 797 var callback = statusObj.callback; 798 var now = new Date(); 799 var nowdate = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0); 800 801 jQuery.getJSON(url, searchObj, function(data, status, xhr){ 802 trace("ã¤ãã³ããã¬ã¼ã³ãAPIï¼æ¤ç´¢çµæï¼jcom_apiï¼"); 803 var data = $.parseJSON(data); 804 805 trace(data); 806 var data_arr = []; 807 var len = data.results.length; 808 for(var i=0;i<len;i++){ 809 var targetObj = data.results[i]; 810 811 // ãªã³ã¯ã®cc-å¯¾å¿ 812 targetObj.linkurl = targetObj.link; 813 if(statusObj.addCC){ 814 var link_arr = targetObj.link.split('//'); 815 targetObj.link = link_arr[0]+'//cc-'+link_arr[1]; 816 } 817 //trace("link "+targetObj.link); 818 819 var pubCloseDate; 820 var lastdate; 821 822 //trace("pubCloseDateã"+targetObj.pubCloseDate); 823 824 if(targetObj.pubCloseDate){ 825 //trace("pubCloseDateãæå¹"); 826 pubCloseDate = targetObj.pubCloseDate; 827 lastdate = pubCloseDate.replace( '-', '/' ); 828 while(lastdate !== pubCloseDate) { 829 pubCloseDate = pubCloseDate.replace('-', '/'); 830 lastdate = lastdate.replace('-', '/'); 831 } 832 targetObj.lastdate = lastdate.split(' ')[0]; 833 if(targetObj.closingDateNonDisplay == "on") targetObj.pubCloseDate = ''; 834 835 }else{ 836 //trace("pubCloseDateãç¡å¹"); 837 targetObj.pubCloseDate = ""; 838 } 839 840 var pubDate = targetObj.pubDate; 841 var startdate = pubDate.replace( '-', '/' ); 842 while(startdate !== pubDate) { 843 pubDate = pubDate.replace('-', '/'); 844 startdate = startdate.replace('-', '/'); 845 } 846 847 // æ²è¼éå§ææãèæ ®ãã 848 if(!statusObj.ignoreDate){ 849 //trace("æ²è¼éå§ææãèæ ®ãã"); 850 851 // æ²è¼éå§ææ 852 if(pubDate != null){ 853 startDay = new Date(pubDate); 854 targetObj.startDay = startDay; 855 if(startDay <= now){ 856 isDisplay = true; 857 }else{ 858 isDisplay = false; 859 } 860 } 861 862 // çµäºåã§ããã°ãªã¹ãã«è¿½å 863 if(pubCloseDate != null){ 864 var endDate = new Date(lastdate); 865 targetObj.endDate = endDate; 866 if(nowdate <= endDate && isDisplay){ 867 data_arr.push(targetObj); 868 } 869 } 870 871 }else{ 872 //trace("æ²è¼éå§ææãèæ ®ããªã"); 873 data_arr.push(targetObj); 874 } 875 876 }// for 877 878 /** 879 if(statusObj.uid == 0) { 880 trace("çªçµè¡¨APIï¼jcom_apiï¼ï¼æ¤ç´¢çµæ --------"); 881 trace(status); 882 trace(xhr); 883 trace(data); 884 trace(data_arr); 885 } 886 //*/ 887 888 statusObj.api_type = 'event_present'; 889 if(callback != null) parent[callback](data_arr,status,searchObj,statusObj); 890 891 });// jQuery.getJSON 892} 893 894/*============================================== 895 896 2019/6/12 897 ãã£ã³ãã«IDã®ãªã¹ããããã£ã³ãã«æ å ±ãè¿ã 898 899==============================================*/ 900var loadedJcomChannelIDNum = 0; 901var loadedJcomChannelIDTotalNum = 0; 902var loadedJcomChannelIDData; 903var loadedJcomChannelIDDataCallbackFunc; 904function getJcomChannelDataByChannelIDList(list,callbackfunc){ 905 loadedJcomChannelIDTotalNum = list.length; 906 loadedJcomChannelIDData = new Array(loadedJcomChannelIDTotalNum); 907 loadedJcomChannelIDDataCallbackFunc = callbackfunc; 908 909 for(var i=0;i<loadedJcomChannelIDTotalNum;i++){ 910 var searchObj = { channelId:list[i] }; 911 912 // å¶å¾¡ç¨ãã©ã¡ã¼ã¿ 913 var statusObj = { 914 uid:i, // UID 915 callback:'getJcomChannelDataByChannelIDListComplete' // ã³ã¼ã«ããã¯é¢æ° ããã©ã«ãï¼searchProgramAPICompleteãçç¥å¯ 916 }; 917 918 // ãã¼ã¿å¼ã³åºã jcom_api.js 919 getJcomChannelList(searchObj,statusObj); 920 921 }// for 922} 923 924// ãã£ã³ãã«æ å ±åå¾ã³ã¼ã«ãã㯠925function getJcomChannelDataByChannelIDListComplete(result,status,searchObj,statusObj){ 926 //trace("ãã£ã³ãã«æ å ±åå¾å®äºï¼getJcomChannelDataByChannelIDListCompleteã"+status); 927 928 loadedJcomChannelIDNum ++; 929 loadedJcomChannelIDData[statusObj.uid] = result.channel[0]; 930 931 //trace(loadedJcomChannelNum +" / "+loadedJcomChannelTotalNum +" "+statusObj.uid); 932 933 if(loadedJcomChannelIDTotalNum <= loadedJcomChannelIDNum ){ 934 if(loadedJcomChannelIDDataCallbackFunc != null) parent[loadedJcomChannelIDDataCallbackFunc](loadedJcomChannelIDData,status,searchObj,statusObj); 935 } 936} 937 938/*============================================== 939 940 2018/5/23 941 ãã£ã³ãã«åã®ãªã¹ããããã£ã³ãã«æ å ±ãè¿ã 942 943==============================================*/ 944var loadedJcomChannelNum = 0; 945var loadedJcomChannelTotalNum = 0; 946var loadedJcomChannelData; 947var loadedJcomChannelDataCallbackFunc; 948var loadedJcomChanneIsNodataList = []; 949function getJcomChannelDataByChannelList(list,callbackfunc){ 950 loadedJcomChannelTotalNum = list.length; 951 loadedJcomChannelData = new Array(loadedJcomChannelTotalNum); 952 loadedJcomChannelDataCallbackFunc = callbackfunc; 953 954 for(var i=0;i<loadedJcomChannelTotalNum;i++){ 955 var channel = list[i]; 956 var data = getChannelDataByName(channel);// ãã£ã³ãã«åãããã£ã³ãã«æ å ±ãåå¾ 957 //trace(i+" ãã£ã³ãã«åã®ãªã¹ããããã£ã³ãã«æ å ±ãè¿ã "+channel); 958 //trace(data.channelID); 959 960 var searchObj = { channelId:data.channelID }; 961 962 //if(channel == 'ã¹ãã¼ãã©ã¤ãï¼') searchObj = { channelId:'410' }; 963 964 // å¶å¾¡ç¨ãã©ã¡ã¼ã¿ 965 var statusObj = { 966 uid:i, // UID 967 callback:'getJcomChannelDataByChannelListOneDataLoadedComplete' // ã³ã¼ã«ããã¯é¢æ° ããã©ã«ãï¼searchProgramAPICompleteãçç¥å¯ 968 }; 969 970 // ãã¼ã¿å¼ã³åºã jcom_api.js 971 getJcomChannelList(searchObj,statusObj); 972 973 }// for 974} 975 976// ãã£ã³ãã«æ å ±åå¾ã³ã¼ã«ãã㯠977function getJcomChannelDataByChannelListOneDataLoadedComplete(result,status,searchObj,statusObj){ 978// trace("ãã£ã³ãã«æ å ±åå¾å®äºï¼getJcomChannelDataByChannelListOneDataLoadedCompleteã"+status+"ï¼"+searchObj.channelId); 979// trace(loadedJcomChannelData); 980// trace(result); 981// trace("result.channel.length "+result.channel.length ); 982// 983 984 loadedJcomChannelNum ++; 985 loadedJcomChannelData[statusObj.uid] = result.channel[0]; 986 987 if(Object.prototype.toString.call(result.channel[0]) !== "[object Object]"){ 988 //trace("objectã§ã¯ãªã "+statusObj.uid); 989 loadedJcomChanneIsNodataList.push(statusObj.uid); 990 } 991 992 if(loadedJcomChannelTotalNum <= loadedJcomChannelNum ){ 993// trace("å ¨ã¦ã®ãã£ã³ãã«æ å ±åå¾å®äºï¼getJcomChannelDataByChannelListOneDataLoadedCompleteã"+status); 994// trace(loadedJcomChannelData); 995 996 var resultList = []; 997 var len = loadedJcomChannelData.length; 998 for(var i=0;i<len;i++){ 999 var data = loadedJcomChannelData[i]; 1000 1001 var isNG = false;
1002 var len2 = loadedJcomChanneIsNodataList.length; 1003 for(var v=0;v<len2;v++){ 1004 var id = loadedJcomChanneIsNodataList[v]; 1005 if(id == i) isNG = true; 1006 }// for 1007 1008 if(!isNG) resultList.push(data); 1009 1010 }// for 1011 1012 if(loadedJcomChannelDataCallbackFunc != null) parent[loadedJcomChannelDataCallbackFunc](resultList); 1013 1014 //if(loadedJcomChannelDataCallbackFunc != null) parent[loadedJcomChannelDataCallbackFunc](loadedJcomChannelData); 1015 } 1016} 1017 1018 1019/*============================================== 1020 1021 2019/6/14 1022 ãã£ã³ãã«åã®ãªã¹ããããã£ã³ãã«æ å ±ãè¿ãï¼ã¾ã¨ãã¦åå¾ï¼ 1023 1024==============================================*/ 1025var jcomChannelDataByChannelList; 1026var jcomChannelDataByChannelIDList = []; 1027var jcomChannelDataByChannelListCallbackFunc; 1028function getJcomChannelAllDataByChannelList(list,callbackfunc,targetChannels){ 1029 jcomChannelDataByChannelList = list; 1030 jcomChannelDataByChannelListCallbackFunc = callbackfunc; 1031 1032 var len = jcomChannelDataByChannelList.length; 1033 for(var i=0;i<len;i++){ 1034 var data = getChannelDataByName(jcomChannelDataByChannelList[i]); 1035 ///trace(data); 1036 var channelID = data.channelID; 1037 jcomChannelDataByChannelIDList.push(channelID); 1038 }// for 1039 1040 // APIãã©ã¡ã¼ã¿ 1041 var searchObj = { 1042 targetChannels:targetChannels, // æ¾é波種å¥ã0(CATV)ã1(ã³ãã¥ããã£ãã£ã³ãã«)ã2(BS)ã3(å°ãã¸)ã4(FMæ¾é)ãã«ã³ãåºåãã§è¤æ°è¨å®å¯ 1043 }; 1044 1045 // å¶å¾¡ç¨ãã©ã¡ã¼ã¿ 1046 var statusObj = { 1047 uid:0, // UID 1048 callback:'getJcomChannelAllDataByChannelListComplete' // ã³ã¼ã«ããã¯é¢æ° ããã©ã«ãï¼searchProgramAPICompleteãçç¥å¯ 1049 }; 1050 // ãã¼ã¿å¼ã³åºã jcom_api.js 1051 getJcomChannelList(searchObj,statusObj); 1052} 1053 1054function getJcomChannelAllDataByChannelListComplete(result,status,searchObj,statusObj){ 1055 trace('getJcomChannelAllDataByChannelListComplete jcom_api.js') 1056 trace(result); 1057 1058 var resultList = []; 1059 var channelList = result.channel; 1060 var datalen = jcomChannelDataByChannelList.length; 1061 var channellen = channelList.length; 1062 1063 for(var i=0;i<datalen;i++){ 1064 var channelID = jcomChannelDataByChannelIDList[i]; 1065 for(var v=0;v<channellen;v++){ 1066 var id = channelList[v].channelId; 1067 if(channelID == id){ 1068 resultList.push(channelList[v]); 1069 break; 1070 } 1071 }// for 1072 }// for 1073 1074 if(jcomChannelDataByChannelListCallbackFunc != null) parent[jcomChannelDataByChannelListCallbackFunc](resultList); 1075} 1076 1077/*============================================== 1078 1079 2018/4/26 1080 ãã£ã³ãã«æ å ±API 1081 1082 // APIãã©ã¡ã¼ã¿ 1083 var searchObj = { 1084 //areaId:12, // ã¨ãªã¢IDãçç¥å¯ 1085 //course:1, // ã³ã¼ã¹IDãããã©ã«ãï¼æå®ãªãï¼ã1(ã¹ã¿ã³ãã¼ããã©ã¹)ã2(ã¹ã¿ã³ãã¼ã)ã3(ã³ã³ãã¯ã)ã4(ã»ã¬ã¯ãA)ã5(ã»ã¬ã¯ãB)ã6(ã»ã¬ã¯ãC) 1086 //channelId:'159_65406', // ãã£ã³ãã«IDãã«ã³ãåºåãã§è¤æ°è¨å®å¯ï¼ORæ¤ç´¢ï¼ 1087 //option:'159_65406', // ãªãã·ã§ã³ãã©ã°ãã«ã³ãåºåãã§è¤æ°è¨å®å¯ï¼ORæ¤ç´¢ï¼ 1088 genre:'2001', // ã¸ã£ã³ã«IDãããã©ã«ãï¼æå®ãªãï¼ã§å ¨ã¦ã®ã¸ã£ã³ã«ãã«ã³ãåºåãã§è¤æ°è¨å®å¯ï¼ORæ¤ç´¢ï¼ 1089 //subGenre:'3001,3003', // ãµãã¸ã£ã³ã«ID ã«ã³ãåºåãã§è¤æ°æå®å¯(ORæ¤ç´¢)ãæªæå®æã¯å ¨ãµãã¸ã£ã³ã«æå®ã¨ãªãã 1090 //targetChannels:'0,1',", // æ¾é波種å¥ã0(CATV)ã1(ã³ãã¥ããã£ãã£ã³ãã«)ã2(BS)ã3(å°ãã¸)ã4(FMæ¾é)ãã«ã³ãåºåãã§è¤æ°è¨å®å¯ 1091 //sort:0, // ã½ã¼ã種å¥ã0(æ¾éæ¥æï¼ããã©ã«ã)ã1(ãã£ã³ãã«)ã2(ã¸ã£ã³ã«ID) 1092 //order:0, // æéé ã0(æé ï¼ããã©ã«ã)ã1(éé ) 1093 //getFeatureInfo:1,//æ³¨ç®æ å ±è¦æ±ãã©ã° 1ã§ãªã¯ã¨ã¹ããããå ´åãæ³¨ç®çªçµæ å ±ãã¬ã¹ãã³ã¹ã«å«ããã 1094 }; 1095 1096 // å¶å¾¡ç¨ãã©ã¡ã¼ã¿ 1097 var statusObj = { 1098 uid:0, // UID 1099 container:'.tv_channel_list', // çªçµè¡¨æ ¼ç´ã³ã³ããï¼.ä»ãã®æååã§æå®ï¼ããã©ã«ãï¼.tv_program_listãçç¥å¯ 1100 callback:'searchChannelAPIComplete' // ã³ã¼ã«ããã¯é¢æ° ããã©ã«ãï¼searchProgramAPICompleteãçç¥å¯ 1101 }; 1102 1103 // ãã¼ã¿å¼ã³åºã jcom_api.js 1104 getJcomChannelList(searchObj,statusObj); 1105 1106==============================================*/ 1107function getJcomChannelList(_searchObj,_statusObj){ 1108 //trace("ãã£ã³ãã«æ å ±APIï¼jcom_api.jï¼ï¼getJcomChannelList"); 1109 setCurrentTimeForAPI(); 1110 var searchObj = {}; 1111 var statusObj = {}; 1112 1113 // _searchObjããAPIæ¤ç´¢ç¨Objãæ½åº 1114 1115 if(!_searchObj.areaId != null){ 1116 var aid = jQuery.cookie("area_id"); 1117 1118 if(aid != undefined){ 1119 area_id = aid; 1120 }else{ 1121 area_id = 12; 1122 } 1123 searchObj.areaId = area_id; 1124 } 1125 1126 if(_searchObj.getFeatureInfo != null){ 1127 searchObj.getFeatureInfo = _searchObj.getFeatureInfo; 1128 } 1129 1130 if(_searchObj.course != null){ 1131 searchObj.course = _searchObj.course; 1132 }
1133 if(_searchObj.channelId != null){ 1134 searchObj.channelId = _searchObj.channelId; 1135 } 1136 if(_searchObj.option != null){ 1137 searchObj.option = _searchObj.option; 1138 } 1139 if(_searchObj.genre != null){ 1140 searchObj.genre = _searchObj.genre; 1141 } 1142 /**/ 1143 // ãµãã¸ã£ã³ã«ã¯æå¹ã§ã¯ãªãï¼ã2018/4/27 1144// if(_searchObj.subGenre != null){ 1145// searchObj.subGenre = _searchObj.subGenre; 1146// }//*/ 1147 if(_searchObj.course != null){ 1148 searchObj.course = _searchObj.course; 1149 } 1150 if(_searchObj.targetChannels != null){ 1151 searchObj.targetChannels = _searchObj.targetChannels; 1152 } 1153 if(_searchObj.sort != null){ 1154 searchObj.sort = _searchObj.sort; 1155 } 1156 if(_searchObj.order != null){ 1157 searchObj.order = _searchObj.order; 1158 } 1159 1160 1161 // _statusObjããå¶å¾¡ç¨Objãæ½åº 1162 1163 if(_statusObj.uid != null) statusObj.uid = _statusObj.uid; 1164 1165 if(_statusObj.container != null){ 1166 statusObj.container = _statusObj.container; 1167 }else{ 1168 statusObj.container = '.tv_channel_list'; 1169 } 1170 1171 if(_statusObj.callback != null){ 1172 statusObj.callback = _statusObj.callback; 1173 }else{ 1174 statusObj.callback = "searchChannelAPIComplete"; 1175 } 1176 if(_statusObj.research != null){ 1177 statusObj.research = _statusObj.research; 1178 }else{ 1179 statusObj.research = false; 1180 } 1181
1182 // ã³ã¼ã«ããã¯ãã©ã¡ã¼ã¿åã®æå® 1183 jsonpCallbackUID ++; 1184 statusObj.jsonpCallback = 'search_channel'+jsonpCallbackUID; 1185 1186 /** 1187 trace("------------------------ããã£ã³ãã«APIï¼jcom_apiï¼ã"+statusObj.uid) 1188 trace(searchObj); 1189 trace(statusObj); 1190 trace(statusObj.container); 1191 //output(searchObj); 1192 //output(statusObj); 1193 /**/ 1194 searchJCOMChannelAPI(searchObj,statusObj); 1195} 1196 1197/*-------------------------------------------------------------- 1198 ãã£ã³ãã«APIï¼æ¤ç´¢ 1199--------------------------------------------------------------*/ 1200function searchJCOMChannelAPI(searchObj,statusObj){ 1201 //trace("ãã£ã³ãã«APIï¼jcom_api.jsï¼ï¼æ¤ç´¢"); 1202 var result = []; 1203 var message = ""; 1204 var dataType = "jsonp"; 1205 var jsonpCallback = statusObj.jsonpCallback; 1206 var url = 'https://tvguide.myjcom.jp/api/getChannelInfo/?'; 1207 //if(isStage) url = "https://stage-tvguide.myjcom.jp/api/getChannelInfo/?"; 1208 1209 if(isMyjcom){ 1210 url += "callback=?"+getAPIRequestQuery(searchObj,false); 1211 //trace("ãã£ã³ãã«APIï¼myjcom "+url); 1212 }else{ 1213 var param = getAPIRequestQuery(searchObj,true); 1214 //url = api_php_path+url+param; 1215 url = api_php_path+'wrp='+jsonpCallback+'&url='+url+param; 1216 url = location.protocol+"//"+location.host+url; // ãã¼ã«ã«ããã¢ã¯ã»ã¹ã§ãããã絶対ãã¹ã§æå® 1217 //trace("ãã£ã³ãã«APIï¼other "+url); 1218 } 1219 1220 var callback = statusObj.callback; 1221 var load_status; 1222 1223 $.ajax({ 1224 url: url, 1225 type:'POST', 1226 dataType: dataType, 1227 jsonpCallback: jsonpCallback // ã³ã¼ã«ããã¯ãã©ã¡ã¼ã¿åã®æå® 1228 }).done(function(data){ // Ajaxãªã¯ã¨ã¹ããæåããæçºå 1229 //trace("ãã£ã³ãã«APIï¼jcom_api.jsï¼ï¼æ¤ç´¢ DONE"); 1230 //trace(data); 1231 load_status = 0; 1232 result = data; 1233 }).fail(function(data){ // Ajaxãªã¯ã¨ã¹ãã失æããæçºå 1234 //trace("ãã£ã³ãã«APIï¼jcom_api.jsï¼ï¼æ¤ç´¢ FAIL"); 1235 //trace(data); 1236 result = ["APIã¨ã©ã¼ï¼"+data.errorMassage]; 1237 message = ["APIã¨ã©ã¼ï¼"+data.errorMassage]; 1238 load_status = 2; 1239 }).always(function(data){ // Ajaxãªã¯ã¨ã¹ããæåã»å¤±æã©ã¡ãã§ãçºå 1240 //trace("ãã£ã³ãã«APIï¼jcom_api.jsï¼ï¼æ¤ç´¢ FAIL"); 1241 1242 statusObj.api_type = 'channel'; 1243 if(callback != null) parent[callback](result,load_status,searchObj,statusObj); 1244 });//$.ajax({ 1245 1246} 1247 1248 1249 1250/*============================================== 1251 1252 2018/4/26 1253 ããããAPI 1254 1255 // APIãã©ã¡ã¼ã¿ 1256 var searchObj = { 1257 //kijiId:0000077684, // ããããè¨äºIDãè¨äºIDãæå®ãããå ´åã«ã¯ãè¨äºID以å¤ã®ãªã¯ã¨ã¹ããã©ã¡ã¼ã¿ã¯å ¨ã¦ç¡è¦ããè¨äºIDã§ã®ã¿æ¤ç´¢ãè¡ãã 1258 //serviceCode:'191_4,570_65406', // ãµã¼ãã¹ã³ã¼ã ãã£ã³ãã«ãæå®ãããserviceId+'_'+networkIdã§æ§æãã«ã³ãåºåãã§è¤æ°æå®å¯(ORæ¤ç´¢)ã 1259 //genre:'2001,2003', // ã¸ã£ã³ã«ID ã«ã³ãåºåãã§è¤æ°æå®å¯(ORæ¤ç´¢)ãæªæå®æã¯å ¨ã¸ã£ã³ã«æå®ã¨ãªãã 1260 //subGenre:'3001,3003', // ãµãã¸ã£ã³ã«ID ã«ã³ãåºåãã§è¤æ°æå®å¯(ORæ¤ç´¢)ãæªæå®æã¯å ¨ãµãã¸ã£ã³ã«æå®ã¨ãªãã 1261 since:'201804271200', // æ¾éæ¥ï¼éå§ï¼yyyyMMddHHmmã§æå®ãããæéæå®ã¯0000ï½2359ã®éã§å¯è½ã 1262 until:'201805071200', // æ¾éæ¥ï¼çµäºï¼yyyyMMddHHmmã§æå®ãããæéæå®ã¯0000ï½2359ã®éã§å¯è½ã 1263 //main:0, // ã¡ã¤ã³ãã©ã°ã0(ã¤ããªã·ãªãï¼ããã©ã«ã)ã1(ã¡ã¤ã³ã¸ã£ã³ã«ã®ã¤ããªã·ãããã³ãµãã¸ã£ã³ã«ãå å ããã¡ã¤ã³ã¸ã£ã³ã«ã®ã¤ããªã·)ã2(ãµãã¸ã£ã³ã«ã®ã¤ããªã·) 1264 //sort:0, // ã½ã¼ã種å¥ã0(æ¾éæ¥æï¼ããã©ã«ã)ã1(ãã£ã³ãã«)ã2(ã¸ã£ã³ã«ID) 1265 //order:0, // æéé ã0(æé ï¼ããã©ã«ã)ã1(éé ) 1266 //offset:0, // ãªãã»ãã è¿å´ããåè£ã®æåã®ä»¶æ°ãæå®ãããOffsetã§æå®ãããçªç®ããlimitä»¶æ¤ç´¢çµæãè¿å´ããã 1267 limit:10, // æå¤§åå¾ä»¶æ° 1ï½100ä»¶ã¾ã§æå®å¯ã 1268 }; 1269 1270 // å¶å¾¡ç¨ãã©ã¡ã¼ã¿ 1271 var statusObj = { 1272 uid:0, // UID 1273 container:'.tv_program_list', //çªçµè¡¨æ ¼ç´ã³ã³ããï¼.ä»ãã®æååã§æå®ï¼ããã©ã«ãï¼.tv_program_listãçç¥å¯ 1274 ng_perfectmatching:false, // NGã¯ã¼ããå®å ¨ä¸è´ã¨ããï¼trueï¼ããªãï¼false:ããã©ã«ãï¼ãçç¥å¯ 1275 ngwords:['ã¹ã¿ã¼ã»ã¦ã©ã¼ãº','ç§å¦'], // NGã¯ã¼ããé åã§è¤æ°è¨å®å¯è½ãçç¥å¯ 1276 //unuseNgWords:true, // NGã¯ã¼ãããã£ã³ã»ã«ï¼trueï¼ãããããªãï¼false:ããã©ã«ãï¼ãçç¥å¯ 1277 //research:false, // ã¿ã°ãªã©ã§ã®åæ¤ç´¢ã®å ´åï¼trueï¼é常æ¤ç´¢ã®å ´åï¼false:ããã©ã«ãï¼ãçç¥å¯ 1278 callback:'searchRecommendProgramAPIComplete' // ã³ã¼ã«ããã¯é¢æ° ããã©ã«ãï¼searchProgramAPICompleteãçç¥å¯ 1279 }; 1280 1281 1282 // ãã¼ã¿å¼ã³åºã jcom_api.js 1283 getJcomRecommendProgram(searchObj,statusObj); 1284 1285==============================================*/ 1286function getJcomRecommendProgram(_searchObj,_statusObj){ 1287 trace("ããããAPIï¼jcom_api.js getJcomRecommendProgram"); 1288 setCurrentTimeForAPI(); 1289 1290 var searchObj = {}; 1291 var statusObj = {}; 1292 1293 // _searchObjããAPIæ¤ç´¢ç¨Objãæ½åº 1294 1295 if(!_searchObj.areaId != null){ 1296 var aid = jQuery.cookie("area_id"); 1297 if(aid != undefined){ 1298 area_id = aid; 1299 }else{ 1300 area_id = 12; 1301 } 1302 searchObj.areaId = area_id; 1303 } 1304 1305 if(_searchObj.kijiId != null){ 1306 searchObj.kijiId = _searchObj.kijiId; 1307 } 1308 if(_searchObj.serviceCode != null){ 1309 searchObj.serviceCode = _searchObj.serviceCode; 1310 }
1311 if(_searchObj.genre != null){ 1312 searchObj.genre = _searchObj.genre; 1313 } 1314 if(_searchObj.subGenre != null){ 1315 searchObj.subGenre = _searchObj.subGenre; 1316 } 1317 if(_searchObj.since != null){ 1318 searchObj.since = _searchObj.since; 1319 } 1320 if(_searchObj.until != null){ 1321 searchObj.until = _searchObj.until; 1322 } 1323 if(_searchObj.main != null){ 1324 searchObj.main = _searchObj.main; 1325 } 1326 if(_searchObj.sort != null){ 1327 searchObj.sort = _searchObj.sort; 1328 } 1329 if(_searchObj.order != null){ 1330 searchObj.order = _searchObj.order; 1331 } 1332 if(_searchObj.offset != null){ 1333 searchObj.offset = _searchObj.offset; 1334 } 1335 1336 if(_searchObj.limit != null){ 1337 searchObj.limit = 100; 1338 statusObj.limit = _searchObj.limit; 1339 }else{ 1340 searchObj.limit = 100; 1341 statusObj.limit = 10; 1342 } 1343 // _statusObjããå¶å¾¡ç¨Objãæ½åº 1344 1345 if(_statusObj.uid != null) statusObj.uid = _statusObj.uid; 1346 if(_statusObj.container != null){ 1347 statusObj.container = _statusObj.container; 1348 }else{ 1349 statusObj.container = '.recommend_program_list'; 1350 } 1351 if(_statusObj.container_parent != null){ 1352 statusObj.container_parent = _statusObj.container_parent; 1353 } 1354 if(_statusObj.callback != null){ 1355 statusObj.callback = _statusObj.callback; 1356 }else{ 1357 statusObj.callback = "searchProgramAPIComplete"; 1358 } 1359 if(_statusObj.research != null){ 1360 statusObj.research = _statusObj.research; 1361 }else{ 1362 statusObj.research = false; 1363 } 1364 1365 if(_statusObj.only_pickup != null){ 1366 statusObj.only_pickup = _statusObj.only_pickup; 1367 }else{ 1368 statusObj.only_pickup = false; 1369 } 1370
1371 // ã³ã¼ã«ããã¯ãã©ã¡ã¼ã¿åã®æå® 1372 jsonpCallbackUID ++; 1373 statusObj.jsonpCallback = 'search_recommend'+jsonpCallbackUID; 1374 1375 /**/ 1376 trace("------------------------ãããããçªçµã"+statusObj.uid) 1377 trace(searchObj); 1378 trace(statusObj); 1379 trace(statusObj.container); 1380 //output(searchObj); 1381 //output(statusObj); 1382 /**/ 1383 searchJCOMRecommendProgramAPI(searchObj,statusObj); 1384} 1385 1386/*-------------------------------------------------------------- 1387 2019/3/22 1388 ããããAPIï¼æ¤ç´¢ 1389--------------------------------------------------------------*/ 1390function searchJCOMRecommendProgramAPI(searchObj,statusObj){ 1391 trace("ããããAPIï¼æ¤ç´¢ï¼jcom_apiï¼"); 1392 1393 var result = []; 1394 var message = ""; 1395 var dataType = "jsonp"; 1396 var jsonpCallback = statusObj.jsonpCallback; 1397 var url = 'https://tvguide.myjcom.jp/api/getRecommendProgramInfo/?'; 1398 //if(isStage) url = "https://stage-tvguide.myjcom.jp/api/getRecommendProgramInfo/?"; 1399 1400 if(isMyjcom){ 1401 url += "callback=?"+getAPIRequestQuery(searchObj,false); 1402 trace("ããããAPIï¼myjcom "+url); 1403 }else{ 1404 var param = getAPIRequestQuery(searchObj,true); 1405 //url = api_php_path+url+param; 1406 url = api_php_path+'wrp='+jsonpCallback+'&url='+url+param; 1407 url = location.protocol+"//"+location.host+url; // ãã¼ã«ã«ããã¢ã¯ã»ã¹ã§ãããã絶対ãã¹ã§æå® 1408 trace("ããããAPIï¼other "+url); 1409 } 1410 var callback = statusObj.callback; 1411 var load_status; 1412 /**/ 1413 $.ajax({ 1414 url: url, 1415 type:'POST', 1416 dataType: dataType, 1417 jsonpCallback: jsonpCallback // ã³ã¼ã«ããã¯ãã©ã¡ã¼ã¿åã®æå® 1418 }).done(function(data){ // Ajaxãªã¯ã¨ã¹ããæåããæçºå 1419 trace("ããããAPIï¼æ¤ç´¢ DONEï¼jcom_apiï¼"); 1420 trace(data); 1421 load_status = 0; 1422 result = []; 1423 1424 jQuery.each(data.contents, function(key, obj){ 1425 // trace(key); 1426 // trace(obj); 1427 1428 var dateObj = new Date(obj.startDate); 1429 var month = formatDate(dateObj, 'MM'); 1430 var day = formatDate(dateObj, 'DD'); 1431 var week = formatDate(dateObj, 'W'); 1432 1433 obj.datestr = month+'æ'+day+'æ¥ï¼'+week+'ï¼'; 1434 obj.datestr_single = Number(month)+'æ'+Number(day)+'æ¥ï¼'+week+'ï¼'; 1435 obj.datestr_simple = month+'/'+day+'ï¼'+week+'ï¼'; 1436 obj.datestr_simple_single = Number(month)+'/'+Number(day)+'ï¼'+week+'ï¼'; 1437 obj.datestr_simple_single2 = Number(month)+'/'+Number(day)+'('+week+')'; 1438 1439 if(obj.photo.length != 0){ 1440 obj.thumbnail = obj.photo[0].photo; 1441 obj.copyright = obj.photo[0].copyright; 1442 obj.hasImage = true; 1443 }else{ 1444 obj.thumbnail = '/special/common/images/no_image_800x448.jpg'; 1445 obj.hasImage = false; 1446 } 1447 1448 if(obj.channel.length != 0){ 1449 obj.channelLogoUrl = obj.channel[0].channelLogoUrl; 1450 obj.channelName = obj.channel[0].channelName; 1451 obj.channelType = obj.channel[0].channelType; 1452 obj.channelId = obj.channel[0].channelId; 1453 obj.channelUrl = obj.channel[0].channelUrl; 1454 obj.digitalNo = obj.channel[0].digitalNo; 1455 }else{ 1456 1457 } 1458 1459 result.push(obj); 1460 1461 });//jQuery.each 1462 1463 }).fail(function(data){ // Ajaxãªã¯ã¨ã¹ãã失æããæçºå 1464 trace("ããããAPIï¼æ¤ç´¢ FAILï¼jcom_apiï¼"); 1465 trace(data); 1466 ////trace("APIã¨ã©ã¼ï¼"+data.errorMassage); 1467 result = ["APIã¨ã©ã¼ï¼"+data.errorMassage]; 1468 message = ["APIã¨ã©ã¼ï¼"+data.errorMassage]; 1469 load_status = 2; 1470 1471 }).always(function(data){ // Ajaxãªã¯ã¨ã¹ããæåã»å¤±æã©ã¡ãã§ãçºå 1472 trace("ããããAPIï¼æ¤ç´¢ ALWAYSï¼jcom_apiï¼"); 1473 1474 statusObj.api_type = 'recommend'; 1475 1476 1477 if(callback != null) parent[callback](result,load_status,searchObj,statusObj); 1478 });//$.ajax({ 1479 1480 //*/ 1481 1482} 1483 1484/*============================================== 1485 1486 2019/6/21 1487 çªçµè¡¨API 1488 1489 // APIãã©ã¡ã¼ã¿ 1490 var searchObj = { 1491 //areaId:12, // ã¨ãªã¢IDãçç¥å¯ 1492 //genreId:6, // ã¸ã£ã³ã«ID 1493 course:4, // ã³ã¼ã¹IDãããã©ã«ãï¼æå®ãªãï¼ã1(ã¹ã¿ã³ãã¼ããã©ã¹)ã2(ã¹ã¿ã³ãã¼ã)ã3(ã³ã³ãã¯ã)ã4(ã»ã¬ã¯ãA)ã5(ã»ã¬ã¯ãB)ã6(ã»ã¬ã¯ãC) 1494 keyword:'å®å®', // æ¤ç´¢ã¯ã¼ããAPIã§ã¯queryã§å¦ç 1495 limit:10, // æ¤ç´¢çµææ° 1496 //targetChannels:'0,1', // æ¤ç´¢å¯¾è±¡ã®æ¾éæ³¢ã0ï¼CATVï¼ã1ï¼ã³ãã¥ãã£ã³ï¼ã2ï¼BSï¼ã3ï¼å°ãã¸ï¼ã«ã³ãåºåãã§è¤æ°è¨å®å¯ 1497 //serviceCode:'561_65406,560_65406', 1498 queryTarget:0, // æ¤ç´¢å¯¾è±¡ã0ï¼ãã¹ã¦ï¼åæè¨å®ï¼ã1ï¼çªçµåï¼ã2ï¼çªçµå 容ï¼ãçç¥å¯ 1499 queryType:0, // 0ï¼andæ¤ç´¢ï¼,ã1ï¼oræ¤ç´¢ï¼ 1500 since:'201906210000',// æ¾éæ¥ï¼éå§ï¼ 1501 until:'201906210000',// æ¾éæ¥ï¼çµäºï¼ 1502 title:null, // æ¤ç´¢æã®ã¿ã¤ãã«ãçç¥æã¯ãã¼ã¯ã¼ããªã©ãé©å®å ¥ã 1503 freeCaMode:null,ã// CAã¢ã¼ã ããã©ã«ããªã 1504 attr:null, // ã¤ãã³ã屿§ ããã©ã«ããªã 1505 image:0, // ç»åã®æç¡ 0ï¼å ¨ã¦ï¼,1ï¼ç»åããã®ã¿ï¼ 1506 hasTag:0, // é¢é£çªçµã¿ã°ãã¼ã¯ã¼ãæç¡ 0ï¼å ¨ã¦ï¼,1ï¼ã¿ã°ããã®ã¿ï¼ 1507 recommend:0, // ããããçªçµãã©ã° 0ï¼å ¨ã¦ï¼,1ï¼ãããããã©ã°æãã®ã¿ï¼ 1508 getImage:0, // ç»ååå¾ 0ï¼ããªãï¼,1ï¼ããï¼
1509 excludeTitle:'æ¾é伿¢,ã¤ã³ãã©ã¡ã¼ã·ã§ã³', // é¤å¤ã¿ã¤ãã« çªçµã¿ã¤ãã«é¨åä¸è´ã§æ¤ç´¢çµæããé¤å¤ãããã¼ã¯ã¼ããæå®ãããã«ã³ãåºåãã§oræ¡ä»¶ã«ããè¤æ°æå®å¯è½ã 1510 excludeServiceCode:'033_65406,034_65406', // é¤å¤ãµã¼ãã¹ã³ã¼ã æ¤ç´¢çµæããé¤å¤ãããµã¼ãã¹ã³ã¼ããæå®ãããã«ã³ãåºåãã§è¤æ°æå®å¯è½ã 1511 excludeAttr:'4k,han,hua', // é¤å¤ã¤ãã³ã屿§ æ¤ç´¢çµæããé¤å¤ããã¤ãã³ã屿§ãæå®ãããã«ã³ãåºåãã§è¤æ°æå®å¯è½ã 1512 alignment:'new,feature,classic', // çªçµãã¹ã¿ã¾ã¨ããã©ã° çªçµãã¹ã¿ç®¡çç»é¢ããç»é²ããä»»ææååã®ãã©ã°ãæå®ãããã«ã³ãåºåãã§è¤æ°æå®å¯è½ã 1513 alignment_title:'BTSç¹éã¨å¹´æ«å¹´å§ä¸ææ¾éã¨å¹´æ«å¹´å§ç¹çª',// ãã©ã°åã表示ããéã®æè¨ãè¨å®ãªãå ´åã¯ãã©ã°ãã®ã¾ã¾ã 1514 1515 }; 1516 1517 // å¶å¾¡ç¨ãã©ã¡ã¼ã¿ 1518 var statusObj = { 1519 uid:0, // UID 1520 container:'.tv_program_list', //çªçµè¡¨æ ¼ç´ã³ã³ããï¼.ä»ãã®æååã§æå®ï¼ããã©ã«ãï¼.tv_program_listãçç¥å¯ 1521 //container_parent:'.section_relation_program', // [Bã©ã³ã¯ã§ã¯è¨å®NG!] æ¤ç´¢çµæããªãå ´åãã¨ã©ã¼çºçæãé表示ã«ããã¨ãªã¢ï¼.ä»ãã®æååã§æå®ï¼ããã©ã«ãï¼.section_relation_program .content_programï¼Bã©ã³ã¯ç¨ï¼ 1522 ng_perfectmatching:false, // NGã¯ã¼ããå®å ¨ä¸è´ã¨ããï¼trueï¼ããªãï¼false:ããã©ã«ãï¼ãçç¥å¯ 1523 ngwords:['ã¹ã¿ã¼ã»ã¦ã©ã¼ãº','ç§å¦'], // NGã¯ã¼ããé åã§è¤æ°è¨å®å¯è½ãçç¥å¯ 1524 unuseNgWords:true, // NGã¯ã¼ãããã£ã³ã»ã«ï¼trueï¼ãããããªãï¼false:ããã©ã«ãï¼ãçç¥å¯ 1525 research:false, // ã¿ã°ãªã©ã§ã®åæ¤ç´¢ã®å ´åï¼trueï¼é常æ¤ç´¢ã®å ´åï¼false:ããã©ã«ãï¼ãçç¥å¯ 1526 nodata_hide:true, // æ¤ç´¢çµæããªãå ´åãã¨ã©ã¼çºçæãã¨ãªã¢ãã¨é表示ã«ããï¼true:ããã©ã«ãï¼ããªãï¼falseï¼ãçç¥å¯ 1527 displayN:10, // ãã£ã¨è¦ããã¿ã³ã表示ãæå®æ°ãã¤çªçµã表示ãããçç¥å¯ 1528 callback:'searchProgramAPIComplete', // ã³ã¼ã«ããã¯é¢æ° ããã©ã«ãï¼searchProgramAPICompleteãçç¥å¯ 1529 useRecommend:0,// ããããçªçµãã©ã°ãå©ç¨ 0ï¼ããªãï¼ããã©ã«ãï¼,1ï¼ããï¼ 1530 }; 1531 1532 // ãã¼ã¿å¼ã³åºã 1533 getJcomProgramList(searchObj,statusObj); 1534 1535==============================================*/ 1536 1537var defaultNGwords = ['çªçµæ¡å ','çªçµã¬ã¤ã','ã¡ã¬ããã¯ã§é ä¿¡ä¸ï¼']; 1538function getJcomProgramList(_searchObj,_statusObj){ 1539 setCurrentTimeForAPI(); 1540 var user_area_id = jQuery.cookie("area_id"); 1541 if(user_area_id == undefined){ 1542 user_area_id = 12; 1543 } 1544 var searchObj = {}; 1545 var statusObj = {}; 1546 1547 1548 // 2022/7/1追å 1549 if(_searchObj.course != null){ 1550 searchObj.course = _searchObj.course; 1551 } 1552 1553 // 2021/3/29追å 1554 if(_searchObj.excludeTitle != null){ 1555 searchObj.excludeTitle = _searchObj.excludeTitle; 1556 } 1557 if(_searchObj.excludeServiceCode != null){ 1558 searchObj.excludeServiceCode = _searchObj.excludeServiceCode; 1559 } 1560 if(_searchObj.excludeAttr != null){ 1561 searchObj.excludeAttr = _searchObj.excludeAttr; 1562 } 1563 1564 1565 1566 /* çªçµãã¹ã¿ã¾ã¨ããã©ã° */ 1567 if(_searchObj.alignment != null){ 1568 searchObj.alignment = _searchObj.alignment; 1569 } 1570 if(_searchObj.alignment_title != null){ 1571 searchObj.alignment_title = _searchObj.alignment_title; 1572 }else{ 1573 searchObj.alignment_title = _searchObj.alignment; 1574 } 1575 1576 // 2020/2/21追å 1577 if(_searchObj.freeCaMode != null){ 1578 searchObj.freeCaMode = _searchObj.freeCaMode; 1579 } 1580 if(_searchObj.attr != null){ 1581 searchObj.attr = _searchObj.attr; 1582 } 1583 if(_searchObj.image != null){ 1584 searchObj.image = _searchObj.image; 1585 }else{ 1586 searchObj.image = 0; 1587 } 1588 if(_searchObj.hasTag != null){ 1589 searchObj.hasTag = _searchObj.hasTag; 1590 } 1591 if(_searchObj.recommend != null){ 1592 searchObj.recommend = _searchObj.recommend; 1593 }else{ 1594 searchObj.recommend = 0; 1595 } 1596 if(_searchObj.getImage != null){ 1597 searchObj.getImage = _searchObj.getImage; 1598 //if(_searchObj.getImage == 1) searchObj.image = 1; 1599 }else{ 1600 searchObj.getImage = 1;// 1601 } 1602 1603 if(_searchObj.adult != null){ 1604 searchObj.adult = _searchObj.adult; 1605 }else{ 1606 searchObj.adult = 0; 1607 } 1608 if(_searchObj.since != null){ 1609 searchObj.since = _searchObj.since; 1610 } 1611 if(_searchObj.until != null){ 1612 searchObj.until = _searchObj.until; 1613 } 1614 1615 if(_searchObj.attr != null){ 1616 searchObj.attr = _searchObj.attr; 1617 } 1618 1619 if(_searchObj.areaId != null){ 1620 searchObj.areaId = _searchObj.areaId; 1621 }else{ 1622 searchObj.areaId = user_area_id; 1623 } 1624 1625 if(_searchObj.limit != null){ 1626 searchObj.limit = Number(_searchObj.limit); 1627 }else{ 1628 searchObj.limit = 100; 1629 } 1630 1631 1632 if(_searchObj.keyword != null){ 1633 searchObj.query = _searchObj.keyword; 1634 searchObj.keyword = _searchObj.keyword; 1635 } 1636 1637 if(_searchObj.genreId != null){ 1638 if(_searchObj.genreId != 'null'){ 1639 searchObj.genreId = encodeURI(_searchObj.genreId); 1640 if(searchObj.keyword == ""){ 1641 searchObj.keyword = getProgramAPIGenrIDName(searchObj.genreId); 1642 //trace(searchObj.genreId+" searchObj.keyword "+searchObj.keyword); 1643 }; 1644 } 1645 } 1646 1647 // æ¾éæ³¢ã®è¨å®ããã°ãã£ã³ãã«è¨å®ç¡å¹ 1648 if(_searchObj.targetChannels != null){ 1649 //trace("_searchObj.targetChannels ããã"+_searchObj.targetChannels); 1650 searchObj.targetChannels = _searchObj.targetChannels; 1651 1652 var targetChannels_arr = _searchObj.targetChannels.split(','); 1653 var wavename = ""; 1654 if(1 < targetChannels_arr.length){ 1655 1656 for(var i=0;i<targetChannels_arr.length;i++){ 1657 if(i < 4){ 1658 if(i != 0) wavename += " / "; 1659 wavename += getTargetChannelTypeByID(targetChannels_arr[i]); 1660 } 1661 }// for 1662 }else{ 1663 wavename = getTargetChannelTypeByID(_searchObj.targetChannels); 1664 } 1665 if(searchObj.keyword == "") searchObj.keyword = wavename; 1666 1667 }else{ 1668 if(_searchObj.serviceCode != null){ 1669 trace("_searchObj.serviceCode ããã"+_searchObj.serviceCode); 1670 1671 searchObj.serviceCode = _searchObj.serviceCode; 1672 var serviceCode_arr = _searchObj.serviceCode.split(','); 1673 var chname = ""; 1674 if(1 < serviceCode_arr.length){ 1675 1676 for(var i=0;i<serviceCode_arr.length;i++){ 1677 if(i < 3){ 1678 if(i != 0) chname += " / "; 1679 chname += getChannelNameByServiceCode(serviceCode_arr[i]); 1680 }else if(i == 3){ 1681 chname += " ãªã©ã®ãã£ã³ãã«"; 1682 } 1683 }// for 1684 }else{ 1685 chname = getChannelNameByServiceCode(_searchObj.serviceCode); 1686 } 1687 1688 if(searchObj.keyword == "") searchObj.keyword = chname; 1689 } 1690 } 1691 1692 if(_searchObj.queryType != null){ 1693 searchObj.queryType = Number(_searchObj.queryType); 1694 }else{ 1695 searchObj.queryType = 0; 1696 } 1697 1698 if(_searchObj.queryTarget != null){ 1699 searchObj.queryTarget = _searchObj.queryTarget; 1700 }else{ 1701 searchObj.queryTarget = 0; 1702 } 1703 1704 // _statusObjããå¶å¾¡ç¨Objãæ½åº 1705 1706 if(_statusObj.uid != null) statusObj.uid = _statusObj.uid; 1707 if(_statusObj.container != null){ 1708 statusObj.container = _statusObj.container; 1709 }else{ 1710 statusObj.container = '.tv_program_list'; 1711 }
1712 if(_statusObj.container_parent != null){ 1713 statusObj.container_parent = _statusObj.container_parent; 1714 }else{ 1715 statusObj.container_parent = '.section_relation_program .content_program'; 1716 } 1717 1718 if(_statusObj.ng_perfectmatching != null){ 1719 statusObj.ng_perfectmatching = _statusObj.ng_perfectmatching; 1720 }else{ 1721 statusObj.ng_perfectmatching = false; 1722 } 1723 if(_statusObj.ngwords != null){ 1724 if(isArray(_statusObj.ngwords)){ 1725 statusObj.ngwords = _statusObj.ngwords.concat(defaultNGwords); 1726 }else{ 1727 statusObj.ngwords = _statusObj.ngwords.split(',').concat(defaultNGwords); 1728 } 1729 }else{ 1730 statusObj.ngwords = defaultNGwords; 1731 } 1732 if(_statusObj.unuseNgWords != null){ 1733 if(_statusObj.unuseNgWords) statusObj.ngwords = []; 1734 } 1735 if(_statusObj.callback != null){ 1736 statusObj.callback = _statusObj.callback; 1737 }else{ 1738 statusObj.callback = "searchProgramAPIComplete"; 1739 } 1740 if(_statusObj.research != null){ 1741 statusObj.research = _statusObj.research; 1742 }else{ 1743 statusObj.research = false; 1744 } 1745 if(_statusObj.nodata_hide != null){ 1746 statusObj.nodata_hide = _statusObj.nodata_hide; 1747 }else{ 1748 statusObj.nodata_hide = true; 1749 } 1750 1751 if(_searchObj.title != null){ 1752 searchObj.keyword = _searchObj.title; 1753 } 1754 1755 if(searchObj.keyword == "") searchObj.keyword = "æ¤ç´¢æ¡ä»¶ãªã"; 1756 1757 if(_searchObj.since != null){ 1758 searchObj.since = _searchObj.since; 1759 } 1760 if(_searchObj.until != null){ 1761 searchObj.until = _searchObj.until; 1762 } 1763 1764 // ãã£ã¨è¦ããã¿ã³ã§ã®è¡¨ç¤ºæ° 1765 if(_statusObj.displayN != null){ 1766 statusObj.displayN = _statusObj.displayN; 1767 } 1768 1769 // ãã£ã¨è¦ããã¿ã³ã§ã®è¡¨ç¤ºæ° 1770 if(_statusObj.useRecommend != null){ 1771 statusObj.useRecommend = _statusObj.useRecommend; 1772 }else{ 1773 statusObj.useRecommend = 0; 1774 } 1775 1776 // ã³ã¼ã«ããã¯ãã©ã¡ã¼ã¿åã®æå® 1777 jsonpCallbackUID ++; 1778 statusObj.jsonpCallback = 'search_program'+jsonpCallbackUID; 1779 1780 /**/ 1781 if(statusObj.uid == 0){ 1782 trace("------------------------ãçªçµè¡¨ã"+statusObj.uid) 1783 trace(searchObj); 1784 trace(statusObj); 1785 trace(statusObj.container); 1786 } 1787 //output(searchObj); 1788 //output(statusObj); 1789 /**/ 1790 searchJCOMProgramAPI(searchObj,statusObj); 1791} 1792 1793function isArray(obj) { 1794 return Object.prototype.toString.call(obj) === '[object Array]'; 1795} 1796/*-------------------------------------------------------------- 1797 çªçµè¡¨APIï¼æ¤ç´¢ 1798--------------------------------------------------------------*/ 1799function searchJCOMProgramAPI(searchObj,statusObj){ 1800 //trace('çªçµè¡¨APIï¼jcom_apiï¼ï¼æ¤ç´¢'); 1801 var result = []; 1802 var message = ""; 1803 var dataType = "jsonp"; 1804 var jsonpCallback = statusObj.jsonpCallback; 1805 var url = "https://tvguide.myjcom.jp/api/getProgramInfo/?"; 1806 var getImage = searchObj.getImage; 1807 1808 // trace(searchObj); 1809 // trace(statusObj); 1810 1811 if(isMyjcom){ 1812 url += "callback=?"+getAPIRequestQuery(searchObj,false); 1813 //trace("çªçµè¡¨APIï¼jcom_apiï¼ï¼myjcom "+url); 1814 }else{ 1815 var param = getAPIRequestQuery(searchObj,true); 1816 url = api_php_path+'wrp='+jsonpCallback+'&url='+url+param; 1817 url = location.protocol+"//"+location.host+url; // ãã¼ã«ã«ããã¢ã¯ã»ã¹ã§ãããã絶対ãã¹ã§æå® 1818 //trace("çªçµè¡¨APIï¼jcom_apiï¼ï¼other "+url); 1819 } 1820 1821 var callback = statusObj.callback; 1822 var load_status; 1823 1824 $.ajax({ 1825 url: url, 1826 type:'POST', 1827 dataType: dataType, 1828 jsonpCallback: jsonpCallback 1829 }).done(function(data){ // Ajaxãªã¯ã¨ã¹ããæåããæçºå 1830 //trace("çªçµè¡¨APIï¼jcom_apiï¼ï¼DONE"); 1831 //trace(data); 1832 1833 if(data === undefined) { 1834 result = ['æ¤ç´¢å¤±æï¼data === undefinedï¼']; 1835 load_status = 2; 1836 trace("æ¤ç´¢å¤±æï¼çªçµè¡¨APIï¼jcom_apiï¼ï¼DONEï¼"); 1837 return; 1838 } 1839 /**/ 1840 // trace("======================"); 1841 // trace(data); 1842 //*/ 1843 load_status = data.status; 1844 if(load_status != 0) return; 1845 var pdata = data.programs; 1846 //trace(pdata); 1847 1848 // ãã¼ã¿ã«çªçµæ° 1849 statusObj.totalCount = data.totalCount; 1850 1851 // é²ç»äºç´ãå¯è½ãªæ¥æ° 1852 var recPossibleDate = getDateAfterXdays(new Date(),8); 1853 1854 if(pdata.length != 0){ 1855 var count = 0; 1856 var limit = statusObj.limit; 1857 var ngwords = statusObj.ngwords; 1858 var ng_perfectmatching = statusObj.ng_perfectmatching; 1859 1860 // var nowtime = new Date(); 1861 // nowYear = formatDate(nowtime, 'YYYY'); 1862 // nowMonth = formatDate(nowtime, 'MM'); 1863 // nowDay = formatDate(nowtime, 'DD'); 1864 1865 // APIã®æ»ãå¤ãNGã¯ã¼ãå¦çãã¦æ¤ç´¢çµæãã¼ã¿ã使 1866 jQuery.each(pdata, function(key, val){ 1867 if(count == limit) return true; 1868 var title = val.title; 1869 var hasNG = hasNGwords(title,ngwords,ng_perfectmatching); 1870 if(hasNG) return true; 1871 1872 var date = val.startTime.slice(0,4) + '/' + val.startTime.slice(4,6) + '/' + val.startTime.slice(6,8); // æ¾éæ¥yyyy/mm/ddã« 1873 var dateObj = new Date(date);
1874 var month = formatDate(dateObj, 'MM'); 1875 var day = formatDate(dateObj, 'DD'); 1876 var week = formatDate(dateObj, 'W'); 1877 1878 var datestr = month+'æ'+day+'æ¥ï¼'+week+'ï¼'; 1879 var datestr_single = Number(month)+'æ'+Number(day)+'æ¥ï¼'+week+'ï¼'; 1880 var datestr_simple = month+'/'+day+'ï¼'+week+'ï¼'; 1881 var datestr_simple_single = Number(month)+'/'+Number(day)+'ï¼'+week+'ï¼'; 1882 var datestr_simple_single2 = Number(month)+'/'+Number(day)+'('+week+')'; 1883 1884 var startTime_org = val.startTime; 1885 var endTime_org = val.endTime; 1886 var programId = val.programId; 1887 var startTime = val.startTime.slice(8,10) + ':' + val.startTime.slice(10,12); 1888 var endTime = val.endTime.slice(8,10) + ':' + val.endTime.slice(10,12); 1889 var channel_icon_id = channel_icon[val.channelName]; 1890 1891 // NO ON AIR 1892 var onairTimeObj = checkThisProgramNowOnair(dateObj,val.startTime,val.endTime); 1893 var nowonair = onairTimeObj.nowonair; 1894 var todayonair = onairTimeObj.todayonair; 1895 1896 // çªçµã¹ãã¼ã¿ã¹ 1897 var attr = val.attr; 1898 // var live = (-1 !== attr.indexOf('live')); 1899 // var first = (-1 !== attr.indexOf('first')); 1900 // var repeat = (-1 !== attr.indexOf('rep')); 1901 // var duo = (-1 !== attr.indexOf('duo')); 1902 // var free = (-1 !== attr.indexOf('free')); 1903 var live = attr.includes('live'); 1904 var first = attr.includes('first'); 1905 var repeat = attr.includes('rep'); 1906 var duo = attr.includes('duo'); 1907 var free = attr.includes('free'); 1908 1909 var obj = { 1910 programId:programId, 1911 date:datestr, 1912 datestr:date, 1913 datestr_single:datestr_single, 1914 datestr_simple:datestr_simple, 1915 datestr_simple_single:datestr_simple_single, 1916 datestr_simple_single2:datestr_simple_single2, 1917 startTime_org:val.startTime, 1918 endTime_org :val.endTime, 1919 startTime:startTime, 1920 endTime:endTime, 1921 channelName:val.channelName, 1922 channelType:val.channelType, 1923 channelLogoUrl:val.channelLogoUrl, 1924 serviceCode:val.serviceCode, 1925 eventId:val.eventId, 1926 rec:val.rec, 1927 programDate:val.programDate, 1928 url:val.url, 1929 title:title, 1930 nowonair:nowonair, 1931 todayonair:todayonair, 1932 airTime:val.airTime, 1933 attr:attr, 1934 live:live, 1935 first:first, 1936 repeat:repeat, 1937 duo:duo, 1938 free:free, 1939 channelNo:val.channelNo, 1940 // genreIds:val.genreIds, 1941 //photo:val.photo, 1942 summary:val.summary, 1943 tags:val.tags, 1944 genreIds:val.genreIds, 1945 isRecommend:val.isRecommend, 1946 isFreeCa:val.isFreeCa, 1947 minogashiFlg:val.minogashiFlg, 1948 course:val.course, 1949 }; 1950 1951 if(getImage == 1 && val.photo.length != 0){ 1952 obj.photo = 'https://tvguide.myjcom.jp/'+val.photo[0].photo; 1953 obj.copyright = val.photo[0].copyright; 1954 obj.hasPhoto = true; 1955 }else{ 1956 obj.photo = '/special/common/images/no_image_800x448.jpg'; 1957 obj.copyright = ''; 1958 obj.hasPhoto = false; 1959 } 1960 1961 // äºç´å¯è½æ¥ç¨ããã§ã㯠1962 if(recPossibleDate <= new Date(date)){ 1963 obj.rec = false; 1964 }else{ 1965 obj.rec = true; 1966 } 1967 1968 result.push(obj); 1969 count++; 1970 });//jQuery.each 1971 1972 // trace("追å ããresult"); 1973 // trace(result); 1974 1975 }else{ 1976 // æ¤ç´¢çµæãªã 1977 result = ['æ¤ç´¢çµæã¯ããã¾ãã']; 1978 load_status = 1; 1979 } 1980 }).fail(function(data){ // Ajaxãªã¯ã¨ã¹ãã失æããæçºå 1981 result = ["APIã¨ã©ã¼ï¼"+data.errorMassage]; 1982 load_status = 2; 1983 trace("çªçµè¡¨APIï¼jcom_apiï¼ï¼FAIL "+result); 1984 1985 }).always(function(data){ // Ajaxãªã¯ã¨ã¹ããæåã»å¤±æã©ã¡ãã§ãçºå 1986 //trace("çªçµè¡¨APIï¼jcom_apiï¼ï¼ALWAYS"); 1987 /** 1988 trace(searchObj); 1989 trace(statusObj); 1990 trace(data); 1991 //*/ 1992 1993 statusObj.api_type = 'program'; 1994 searchObj.searchBtnURL = getSearchProgramBtnURL(searchObj); 1995 if(callback != null) parent[callback](result,load_status,searchObj,statusObj); 1996 }); 1997 1998} 1999 2000/*-------------------------------------------------------------- 2001 é åã«å«ã¾ããããã§ã㯠2002--------------------------------------------------------------*/ 2003function checkIncludedInArr(arr,val){ 2004 //arr.indexOf(val); 2005 arr.includes(val); 2006} 2007 2008/*-------------------------------------------------------------- 2009 çªçµè¡¨APIï¼NGã¯ã¼ã 2010--------------------------------------------------------------*/ 2011// é åã«å¤ããµãã¾ããããã§ã㯠2012function hasNGwords(val,arr,perfectmatching){ 2013 var flag = false;
2014 var len = arr.length; 2015 if(perfectmatching){ 2016 for(var i=0;i<len;i++){ 2017 if(val == arr[i]){ 2018 flag = true; 2019 continue; 2020 } 2021 }// for 2022 }else{ 2023 // for(var i=0;i<len;i++){ 2024 // if (val.indexOf(arr[i]) != -1) { 2025 // flag = true; 2026 // continue; 2027 // } 2028 // }// for 2029 for (let i = 0; i < len; i++) { 2030 if (val.includes(arr[i])) { 2031 flag = true; 2032 continue; 2033 } 2034 } 2035 } 2036 return flag; 2037} 2038/*-------------------------------------------------------------- 2039 çªçµè¡¨APIï¼NGã¸ã£ã³ã«ID 2040--------------------------------------------------------------*/ 2041// é åã«å¤ããµãã¾ããããã§ã㯠2042function hasNGGenreIDCheck(val,ng_genreid){ 2043 //trace("------------------------------------") 2044 // val // 32 2045 // ng // 31,60,6F 2046 2047 2048 var flag = false; 2049 var count = 0; 2050 2051 var len = ng_genreid.length; 2052 2053 //trace(val+" / "+ng_genreid); 2054 2055 for(var i=0;i<len;i++){ 2056 2057 var val_len = val.length; 2058 2059 for(var v=0;v<val_len;v++){ 2060 var id = val[v]; 2061 //trace(id+" : "+ng_genreid[i]); 2062 2063 if(id == ng_genreid[i]){ 2064 flag = true; 2065 continue; 2066 } 2067 }// for 2068 2069 }// for 2070 2071 2072 return flag; 2073} 2074 2075/*-------------------------------------------------------------- 2076 çªçµè¡¨APIï¼ãã£ã¨ã¿ããã¿ã³ã®URL 2077 2020/1/22 2078--------------------------------------------------------------*/ 2079function getSearchProgramBtnURL(searchObj){ 2080 var query = (searchObj.query) ? "keyword="+searchObj.query : ""; 2081 var genreId = (searchObj.genreId) ? "&genre="+searchObj.genreId : ""; 2082 var queryTypeID = (searchObj.queryType) ? searchObj.queryType : ""; 2083 var queryType = ""; 2084 2085 if(queryTypeID == 1){ 2086 queryType = "&keywordType=or"; 2087 } 2088 2089 var targetChannels = ""; 2090 var channel = ""; 2091 2092 //trace("searchObj.targetChannels "+searchObj.targetChannels); 2093 2094 if(searchObj.targetChannels != null){ 2095 targetChannels = getTargetChannelsQuery(searchObj.targetChannels); 2096 }else if(searchObj.serviceCode != null){ 2097 channel = '&channel='+searchObj.serviceCode; 2098 } 2099 2100 var keywordType = ""; 2101 if(searchObj.queryType){ 2102 keywordType = (searchObj.queryType == 0) ? "&keywordType=and" : "&keywordType=or"; 2103 } 2104 2105 var queryTarget = ""; 2106 if(searchObj.queryTarget){ 2107 if(searchObj.queryTarget == 1){ 2108 queryTarget = '&keywordTarget=title'; 2109 }else if(searchObj.queryTarget == 2){ 2110 queryTarget = '&keywordTarget=detail'; 2111 } 2112 } 2113 2114 var url = "https://tvguide.myjcom.jp/search/event/?"+query+targetChannels+genreId+channel+keywordType+queryTarget; 2115 //if(isStage) url = "https://stage-tvguide.myjcom.jp/search/event/?"+query+targetChannels+genreId+channel+keywordType; 2116 2117 return encodeURI(url); 2118} 2119 2120 2121/*============================================== 2122 2123 2019/10/28 2124 ãªã³ããã³ãAPIï¼VODï¼ 2125 2126 // APIãã©ã¡ã¼ã¿ 2127 var searchObj = { 2128 category:'jmc/v200904/anime', 2129 //keyword:'å®å®', // æ¤ç´¢ã¯ã¼ã åè§ã¹ãã¼ã¹åºåãã§è¤æ°è¨å®å¯è½ 2130 limit:10, // æ¤ç´¢çµææ°ã50ä»¥ä¸ 2131 flagInitialEpisodeOnly:1, // ã·ãªã¼ãºã®è¡¨ç¤ºã0ï¼ãã¹ã¦è¡¨ç¤ºï¼åæè¨å®ï¼ã1ï¼ã·ãªã¼ãºä½ååä½ã第ä¸åã®ã¨ãã½ã¼ãã®ã¿è¡¨ç¤ºï¼ 2132 kindHishinbi:0, // é ä¿¡æ¥ç¨®å¥ã0ï¼ãã¹ã¦è¡¨ç¤ºï¼åæè¨å®ï¼ã1ï¼æ°çéå®ï¼ã2ï¼ã¾ããªãé ä¿¡ï¼ã3ï¼ããããçµäºï¼ 2133 flagOr:0, // æ¤ç´¢æ¹æ³ã0ï¼andæ¤ç´¢ï¼åæè¨å®ï¼ã1ï¼oræ¤ç´¢ï¼ 2134 flagMuryo:0, //ç¡æä½åã0ï¼å ¨ã¦ã®ä½åï¼åæè¨å®ï¼ã1ï¼ç¡æä½åï¼ 2135 page:pageID, //åºåãã¼ã¸æ° 2136 sort:3, // ã½ã¼ãã1: é ä¿¡æ¥(æé )ã2: é ä¿¡æ¥(éé )ã3: ä½åå(æé )ã4: ä½åå(éé ) 2137 r18:0 //R18ã0ï¼é表示ï¼åæè¨å®ï¼ã1ï¼è¡¨ç¤º 2138 }; 2139 2140 // å¶å¾¡ç¨ãã©ã¡ã¼ã¿ 2141 var statusObj = { 2142 uid:0, // UID 2143 //apiURL: 'https://adult-jvod.myjcom.jp/retrieveadult.jsonp',// ã¢ãã«ãç¨ãªã¯ã¨ã¹ãURL 2144 //apiURL: 'https://jvod.myjcom.jp/retrieve2.jsonp',// ãã¹ãç¨ãªã¯ã¨ã¹ãURL 2145 container:$('.ondemand_api_container'), //çªçµè¡¨æ ¼ç´ã³ã³ãããããã©ã«ãã.ondemand_api_containerãçç¥å¯ 2146 ng_perfectmatching:false, // NGã¯ã¼ããå®å ¨ä¸è´ã¨ããï¼trueï¼ããªãï¼false:ããã©ã«ãï¼ãçç¥å¯ 2147 ngwords:['å®å®'], // NGã¯ã¼ããé åã§è¤æ°è¨å®å¯è½ãçç¥å¯ 2148 unuseNgWords:true, // NGã¯ã¼ãããã£ã³ã»ã«ï¼trueï¼ãããããªãï¼false:ããã©ã«ãï¼ãçç¥å¯ 2149 callback:'searchOndemandAPICpmplete' // ã³ã¼ã«ããã¯é¢æ°ãããã©ã«ããsearchOndemandAPICpmpleteãçç¥å¯ 2150 }; 2151 2152 // ãã¼ã¿å¼ã³åºã 2153 getJcomOndemandList(searchObj,statusObj); 2154 2155==============================================*/ 2156function getJcomOndemandList(_searchObj,_statusObj){ 2157 setCurrentTimeForAPI(); 2158 var requestURL; 2159 var statusObj = {}; 2160 var limit,num; 2161 var ngwords,ng_perfectmatching,unuseNgWords; 2162 2163 // NGã¯ã¼ãã使ããªã 2164 if(_statusObj.unuseNgWords != null){ 2165 unuseNgWords = _statusObj.unuseNgWords; 2166 }else{ 2167 unuseNgWords = false;
2168 } 2169 2170 if(_searchObj.limit == null){ 2171 _searchObj.limit = 10; 2172 } 2173 2174 // NGã¯ã¼ã 2175 if(!unuseNgWords){ 2176 if(_statusObj.ngwords != null){ 2177 ngwords = _statusObj.ngwords.concat(defaultNGwords); 2178 }else{ 2179 ngwords = defaultNGwords; 2180 } 2181 num = 50; 2182 limit = _searchObj.limit; 2183 }else{ 2184 ngwords = []; 2185 limit = num = _searchObj.limit; 2186 } 2187 2188 if(50 <= num) num = 50;ã//ãæ¤ç´¢å¯è½ãªMAXã¯50ã¾ã§ã51ããã¨ã©ã¼ 2189 2190 // å©ç¨ããAPIã®URL 2191 if(_statusObj.apiURL != null){ 2192 statusObj.apiURL = _statusObj.apiURL; 2193 }else{ 2194 statusObj.apiURL = "https://jvod.myjcom.jp/retrieve.jsonp"; 2195 } 2196 2197 // _searchObjãããªã¯ã¨ã¹ãURLã使 2198 var apiURL = statusObj.apiURL;//"https://jvod.myjcom.jp/retrieve2.jsonp";// "https://jvod.myjcom.jp/retrieve.jsonp"; 2199 requestURL = apiURL+"?num="+num; 2200 2201 if(_searchObj.category != null){ 2202 requestURL += '&category='+_searchObj.category; 2203 } 2204 if(_searchObj.page != null){ 2205 requestURL += '&page='+_searchObj.page; 2206 } 2207 if(_searchObj.keyword != null){ 2208 requestURL += '&keyword='+_searchObj.keyword; 2209 } 2210 if(_searchObj.sort != null){ 2211 requestURL += '&sort='+_searchObj.sort; 2212 }else{ 2213 requestURL += '&sort=1'; 2214 } 2215 if(_searchObj.flagSeries != null){ 2216 requestURL += '&flagSeries='+_searchObj.flagSeries; 2217 }else{ 2218 requestURL += '&flagSeries=0'; 2219 } 2220 if(_searchObj.flagInitialEpisodeOnly != null){ 2221 requestURL += '&flagInitialEpisodeOnly='+_searchObj.flagInitialEpisodeOnly; 2222 }else{ 2223 requestURL += '&flagInitialEpisodeOnly=0'; 2224 } 2225 if(_searchObj.kindHishinbi != null){ 2226 requestURL += '&kindHishinbi='+_searchObj.kindHishinbi; 2227 }else{ 2228 requestURL += '&kindHishinbi=0'; 2229 } 2230 if(_searchObj.flagOr != null){ 2231 requestURL += '&flagOr='+_searchObj.flagOr; 2232 }else{ 2233 requestURL += '&flagOr=0'; 2234 } 2235 if(_searchObj.flagMuryo != null){ 2236 requestURL += '&flagMuryo='+_searchObj.flagMuryo; 2237 }else{ 2238 requestURL += '&flagMuryo=0'; 2239 } 2240 2241 // ã¢ã»ããIDã§ã®æ¤ç´¢æã¯ãã®ä»é ç®ã¯ä¸è¦ 2242 if(_searchObj.assetId != null){ 2243 requestURL = apiURL+'?assetId='+_searchObj.assetId; 2244 } 2245 if(_searchObj.r18 != null){ 2246 requestURL += '&r18='+_searchObj.r18; 2247 }else{ 2248 requestURL += '&r18=0'; 2249 } 2250 2251 // _statusObjããå¶å¾¡ç¨Objãæ½åº 2252 2253 if(_statusObj.uid != null) statusObj.uid = _statusObj.uid; 2254 if(_statusObj.container != null){ 2255 statusObj.container = _statusObj.container; 2256 }else{ 2257 statusObj.container = '.ondemand_api_container'; 2258 } 2259 if(_statusObj.container_parent != null){ 2260 statusObj.container_parent = _statusObj.container_parent; 2261 } 2262 if(_statusObj.ng_perfectmatching != null){ 2263 ng_perfectmatching = _statusObj.ng_perfectmatching; 2264 }else{ 2265 ng_perfectmatching = false; 2266 } 2267 if(_statusObj.callback != null){ 2268 statusObj.callback = _statusObj.callback; 2269 }else{ 2270 statusObj.callback = "searchOndemandAPICpmplete"; 2271 } 2272 2273 var result = []; 2274 var load_status; 2275 var count = 0; 2276 2277 /**/ 2278 trace("------------------------ãVODï¼jcom_apiï¼") 2279 trace(_searchObj); 2280 trace(statusObj); 2281 trace(requestURL); 2282 /**/ 2283 2284 2285 $.ajax({ 2286 url: requestURL, 2287 type:'GET', 2288 dataType: 'jsonp' 2289 }).done(function(data) { 2290 trace("VOD LOADED SUCCESSï¼jcom_apiï¼"); 2291 trace(data); 2292 if(data.status == -1) return; 2293 var resultN = data.total_count; 2294 statusObj.total_count = data.total_count; 2295 2296 if(resultN != 0){ 2297 //trace("æ¤ç´¢çµæãã "+resultN); 2298 load_status = 0; 2299 var len = data.result.length; 2300 for(var i=0;i<len;i++){ 2301 if(count == limit) continue; 2302 var title = data.result[i].Title; 2303 var hasNG = hasNGwords(title,ngwords,ng_perfectmatching); 2304 2305 if(hasNG) continue; 2306 result.push(data.result[i]); 2307 count++; 2308 }// for 2309 2310 }else{ 2311 //trace("çµæãªãã¯æ ãã¨é表示"); 2312 result = []; 2313 statusObj.searchBtnURL = vodsite; 2314 load_status = 1; 2315 } 2316 }).fail(function(data) { 2317 //trace("èªã¿è¾¼ã¿å¤±æï¼jcom_apiï¼"); 2318 //trace(data); 2319 result = []; 2320 statusObj.searchBtnURL = vodsite; 2321 load_status = 2; 2322 }).always(function(data) { 2323 //trace("å¦çå®äºï¼jcom_apiï¼ã"+load_status); 2324 2325 if(result.length == 0){ 2326 sload_statustatus = 1; 2327 statusObj.searchBtnURL = vodsite; 2328 }else{ 2329 statusObj.searchBtnURL = getMoreOndemandBtnURL(_searchObj); 2330 } 2331 2332 statusObj.api_type = 'ondemand'; 2333 var callback = statusObj.callback; 2334 if(callback != null) parent[callback](result,load_status,requestURL,statusObj,_searchObj); 2335 }); 2336} 2337 2338/*-------------------------------------------------------------- 2339 ãªã³ããã³ãAPIï¼ãã£ã¨ã¿ããã¿ã³ã®URL 2340--------------------------------------------------------------*/ 2341var vodsite = 'https://jvod.myjcom.jp/';
2342var isMoreOndemandBtn = true; 2343function getMoreOndemandBtnURL(searchObj){ 2344 trace("âãªã³ããã³ãAPIï¼ãã£ã¨ã¿ããã¿ã³ã®URL "); 2345 var keyword = (searchObj.keyword) ? searchObj.keyword : ""; 2346 var category = (searchObj.category) ? getOndemandCategoryQuery(searchObj.category) : '&genre=0&subgenre=none'; 2347 var Haishinbi = (searchObj.kindHishinbi) ? searchObj.kindHishinbi : 0; 2348 var Haishinbi = (searchObj.kindHishinbi) ? searchObj.kindHishinbi : 0; 2349 2350 //if(isStage) vodsite = 'https://stg-jvod.myjcom.jp/'; 2351 var url = vodsite+"kensaku/search?&keyword="+keyword+category+"&Haishinbi="+Haishinbi+"&Device=0&Syllabary=0&categorysubcheck=&sub=æ¤ç´¢";; 2352 2353 // VODã¢ããªåå² 2019/12/09 2354 2355 if(typeof useJCOMLINK !== 'undefined'){ 2356 trace("useJCOMLINK ["+useJCOMLINK+"] "); 2357 if(useJCOMLINK == 'true'){ 2358 url = 'https://linkvod.myjcom.jp/search?q='+keyword; 2359 }else{ 2360 url = 'https://vod.myjcom.jp/video'; 2361 } 2362 }else{ 2363 trace("useJCOMLINK ãªã"); 2364 } 2365 2366 return encodeURI(url); 2367} 2368 2369 2370/*============================================== 2371 2372 2019/10/28 2373 ãªã³ããã³ãAPIï¼VODï¼ã«ã©ãªã± 2374 2375 // APIãã©ã¡ã¼ã¿ 2376 var searchObj = { 2377 singer:'', // ã¢ã¼ãã£ã¹ãå 2378 title:'', // 楽æ²å 2379 startPhrase:'', // æãåºã 2380 musicID:'', // 楽æ²ã®çªå· 2381 initialTitle:'', // 楽æ²åã®å é æåï¼ã²ãããªï¼ 2382 initialSinger:'', // ã¢ã¼ãã£ã¹ãåã®å é æåï¼ã²ãããªï¼ 2383 generation:'', // 年代 4æ¡ã®æ°å2åã-ã§ã¤ãªãããã®ãä¾ 2000-2010 2384 release_month:'', // é ä¿¡æãä¾ 201908 2385 order:'', // æå®ãªã or 1ï¼ãã¢ã¼ãã£ã¹ãåã æé ã2ï¼ã楽æ²åã æé ã3:ããªãªã¼ã¹æ¥ã éé ã4:ãAssetIdã æé 2386 LicensingmonthStart:'1', // é ä¿¡éå§æ¥ 2387 LicensingmonthEnd:'50', // é ä¿¡çµäºæ¥ 2388 all:'u', // æ¤ç´¢ç¨æååï¼æ¥½æ²åãã¢ã¼ãã£ã¹ãåã®åæ¹ã®ORæ¤ç´¢ãè¡ãå ´åã«å©ç¨ããæåå
2389 page:'', // åºåçµæã®ãã¼ã¸ãæå®ãããæ°åï¼1以ä¸ã1000以ä¸ï¼ 2390 num:'', // ï¼ãã¼ã¸å½ããã®ä»¶æ°ãæå®ãããæ°åï¼1以ä¸ã50以ä¸ï¼ 2391 ie:'', // â¼â¼ãã¼ã¯ã¼ãã®â½åã³ã¼ããieï¼u: UTF-8ãieï¼s: Shift-JISãieï¼e: EUC-JP 2392 callback:'', // JSONP ã®ã³ã¼ã«ããã¯é¢æ°åãcallbackï¼é¢æ°åï¼ä¾ï¼callbackï¼response_jcomvodï¼ä½¿â½¤å¯è½â½åã¯ãè±æ°åããã³ã¢ã³ãã¼ã¹ã³ã¢ã 2393 }; 2394 2395 // å¶å¾¡ç¨ãã©ã¡ã¼ã¿ 2396 var statusObj = { 2397 uid:0, // UID 2398 apiURL: 'https://jvod.myjcom.jp/retrievekaraoke.jsonp',// ã«ã©ãªã±ç¨ãªã¯ã¨ã¹ãURL 2399 container:$('.karaoke_api_container'), //æ ¼ç´ã³ã³ãããããã©ã«ãã.karaoke_api_containerãçç¥å¯ 2400 callback:'searchOndemandKaraokeAPICpmplete' // ã³ã¼ã«ããã¯é¢æ°ãããã©ã«ããsearchOndemandKaraokeAPICpmpleteãçç¥å¯ 2401 }; 2402 2403 // ãã¼ã¿å¼ã³åºã 2404 getJcomOndemandKaraokeList(searchObj,statusObj); 2405 2406==============================================*/ 2407function getJcomOndemandKaraokeList(_searchObj,_statusObj){ 2408 setCurrentTimeForAPI(); 2409 var requestURL; 2410 var statusObj = {}; 2411 var limit,num; 2412 2413 if(_searchObj.num == null){ 2414 _searchObj.num = 10; 2415 } 2416 2417 if(50 <= num) num = 50;ã//ãæ¤ç´¢å¯è½ãªMAXã¯50ã¾ã§ã51ããã¨ã©ã¼ 2418 2419 // å©ç¨ããAPIã®URL 2420 if(_statusObj.apiURL != null){ 2421 statusObj.apiURL = _statusObj.apiURL; 2422 }else{ 2423 statusObj.apiURL = "https://jvod.myjcom.jp/retrievekaraoke.jsonp"; 2424 } 2425 2426 // _searchObjãããªã¯ã¨ã¹ãURLã使 2427 var apiURL = statusObj.apiURL;//"https://jvod.myjcom.jp/retrieve2.jsonp";// "https://jvod.myjcom.jp/retrieve.jsonp"; 2428 requestURL = apiURL+"?num="+num; 2429 2430 if(_searchObj.singer != null){ 2431 requestURL += '&singer='+_searchObj.singer; 2432 } 2433 if(_searchObj.title != null){ 2434 requestURL += '&title='+_searchObj.title; 2435 } 2436 if(_searchObj.startPhrase != null){ 2437 requestURL += '&startPhrase='+_searchObj.startPhrase; 2438 } 2439 if(_searchObj.musicID != null){ 2440 requestURL += '&musicID='+_searchObj.musicID; 2441 } 2442 if(_searchObj.initialTitle != null){ 2443 requestURL += '&initialTitle='+_searchObj.initialTitle; 2444 } 2445 if(_searchObj.initialSinger != null){ 2446 requestURL += '&initialSinger='+_searchObj.initialSinger; 2447 } 2448 if(_searchObj.generation != null){ 2449 requestURL += '&generation='+_searchObj.generation; 2450 } 2451 if(_searchObj.release_month != null){ 2452 requestURL += '&release_month='+_searchObj.release_month; 2453 } 2454 if(_searchObj.order != null){ 2455 requestURL += '&order='+_searchObj.order; 2456 } 2457 if(_searchObj.LicensingmonthStart != null){ 2458 requestURL += '&LicensingmonthStart='+_searchObj.LicensingmonthStart; 2459 } 2460 if(_searchObj.LicensingmonthEnd != null){ 2461 requestURL += '&LicensingmonthEnd='+_searchObj.LicensingmonthEnd; 2462 } 2463 if(_searchObj.all != null){ 2464 requestURL += '&all='+_searchObj.all; 2465 } 2466 if(_searchObj.page != null){ 2467 requestURL += '&page='+_searchObj.page; 2468 } 2469 if(_searchObj.num != null){ 2470 requestURL += '&num='+_searchObj.num; 2471 } 2472 if(_searchObj.ie != null){ 2473 requestURL += '&ie='+_searchObj.ie; 2474 } 2475 if(_searchObj.callback != null){ 2476 requestURL += '&callback='+_searchObj.callback; 2477 } 2478 2479 // _statusObjããå¶å¾¡ç¨Objãæ½åº 2480 2481 if(_statusObj.uid != null) statusObj.uid = _statusObj.uid; 2482 if(_statusObj.container != null){ 2483 statusObj.container = _statusObj.container; 2484 }else{ 2485 statusObj.container = '.karaoke_api_container'; 2486 } 2487 if(_statusObj.ng_perfectmatching != null){ 2488 ng_perfectmatching = _statusObj.ng_perfectmatching; 2489 }else{ 2490 ng_perfectmatching = false; 2491 } 2492 if(_statusObj.callback != null){ 2493 statusObj.callback = _statusObj.callback; 2494 }else{ 2495 statusObj.callback = "searchOndemandAPICpmplete"; 2496 } 2497 2498 var result = []; 2499 var load_status; 2500 var count = 0; 2501 2502 /**/ 2503 trace("------------------------ãVOD KARAOKEï¼jcom_apiï¼") 2504 trace(_searchObj); 2505 trace(statusObj); 2506 trace(requestURL); 2507 /**/ 2508 2509 2510 $.ajax({ 2511 url: requestURL, 2512 type:'GET', 2513 dataType: 'jsonp' 2514 }).done(function(data) { 2515 trace("VOD KARAOKE LOADED SUCCESSï¼jcom_apiï¼"); 2516 2517 if(data.status == -1) return; 2518 2519 var resultN = data.total_count; 2520 statusObj.total_count = data.total_count; 2521 if(resultN != 0){ 2522 load_status = 0; 2523 var len = data.result.length; 2524 for(var i=0;i<len;i++){ 2525 result.push(data.result[i]); 2526 count++; 2527 }// for 2528 2529 }else{ 2530 //trace("çµæãªãã¯æ ãã¨é表示"); 2531 result = []; 2532 load_status = 1; 2533 } 2534 }).fail(function(data) { 2535 //trace("èªã¿è¾¼ã¿å¤±æï¼jcom_apiï¼"); 2536 //trace(data); 2537 result = []; 2538 load_status = 2; 2539 }).always(function(data) { 2540 //trace("å¦çå®äºï¼jcom_apiï¼ã"+load_status); 2541 2542 if(result.length == 0){ 2543 load_status = 1; 2544 } 2545 2546 var callback = statusObj.callback; 2547 statusObj.api_type = 'ondemand_karaoke'; 2548 if(callback != null) parent[callback](result,load_status,requestURL,statusObj,_searchObj); 2549 }); 2550} 2551 2552/*-------------------------------------------------------------- 2553 2554 2017/11/9 2555 utils 2556 2557--------------------------------------------------------------*/ 2558// ãã¹ãåºåç¨ 2559var outputHTML = ''; 2560function output(obj){ 2561 var html = outputHTML+"<br />------------------------<br />"; 2562 for (var key in obj){ 2563 html += key + " = " + obj[key] + "<br />"; 2564 } 2565 outputHTML += html; 2566 $('.output').html(html); 2567} 2568 2569// dateObjãããaddDaysæ¥å¾ã®æ¥ä»ãåå¾ 2570function getDateAfterXdays(dateObj, addDays) { 2571 var dt = dateObj; 2572 var baseSec = dt.getTime(); 2573 var addSec = addDays * 86400000;//æ¥æ° * 1æ¥ã®ããªç§æ° 2574 var targetSec = baseSec + addSec;
2575 dt.setTime(targetSec); 2576 return dt; 2577} 2578// å ¨è§ãåè§ã®æ··ãã£ãæååããã¤ãæ°ã§ããªãã³ã° 2579function trimTextByBite(str,trimNum) { 2580 ////trace("trimTextByBite--------------------- "+str); 2581 var afterTxt = '…'; 2582 var result; 2583 var txt =""; 2584 var textLength = 1; 2585 var r = 0; 2586 for (var i = 0; i < str.length; i++) { 2587 var c = str.charCodeAt(i); 2588 if ( (c >= 0x0 && c < 0x81) || (c == 0xf8f0) || (c >= 0xff61 && c < 0xffa0) || (c >= 0xf8f1 && c < 0xf8f4)) { 2589 r += 1; 2590 } else { 2591 r += 2; 2592 } 2593 if(r < trimNum){ 2594 textLength ++; 2595 } 2596 } 2597 var textTrim = str.substr(0,(textLength)); 2598 if(trimNum <= (textLength*2)) { 2599 result = textTrim + afterTxt; 2600 }else{ 2601 result = str; 2602 } 2603 return result; 2604} 2605 2606 2607 2608/*============================================= 2609 2610 ãªã³ããã³ããªã³ã¯ã®é·ç§»ã2019/11/1 2611 2612=============================================*/ 2613 2614function addJcomVODLnkEvent(){ 2615 2616 $('.section').off('click', '.vodapplink').on('click', '.vodapplink', function(e){ 2617 e.preventDefault(); 2618 2619 var assetID = $(this).find('a').attr('href'); 2620 2621 if (checkNowDeviceOS() === 'other') { 2622 jumpToJcomVODURL(assetID); 2623 } else { 2624 setJcomVODDetails(assetID); 2625 } 2626 return false; 2627 }); 2628 2629 $('.section').on({"mouseenter": function(){ 2630 $(this).addClass('hover'); 2631 },"mouseleave": function(){ 2632 $(this).removeClass('hover'); 2633 }}, ".vodlinkarea"); 2634 2635} 2636 2637//ã¢ããªè©³ç´°ãªã³ã¯ã¢ã¼ãã« 2638function setJCOMVODAppDetailModal(appUrl, storeUrl){ 2639 trace("setJCOMVODAppDetailModal ã¢ããªè©³ç´°ãªã³ã¯ã¢ã¼ãã« "); 2640 clickModalname = "modal_appdetail"; 2641 $('.modal_appdetail .hasdata').show(); 2642 $('.modal_appdetail .nodata').hide(); 2643 2644 $('.modal_appdetail .download a').attr('href',storeUrl); 2645 $('.modal_appdetail .openapp a').attr('href',appUrl); 2646 2647 modalname = clickModalname; 2648 changeModalDetail(); 2649 showModal(); 2650} 2651 2652// ã¢ããªãã¤ã³ã¹ãã¼ã«æ¸ãªã詳細ç»é¢ã¸é·ç§»ãã¤ã³ã¹ãã¼ã«æªãªãã¹ãã¢ã«é·ç§» 2653function setJcomVODDetails(assetId){ 2654 trace("details "+assetId); 2655 var os = checkNowDeviceOS(); 2656 var query = assetId+""; 2657 2658 if (os === 'ios'){ 2659 if(getiOSVer() != 9){ 2660 setJCOMVODAppDetailModal("jcomapp://jp.co.jcom.JcomApp/webview/contents/" + query, 'http://itunes.apple.com/jp/app/id449811083?mt=8'); 2661 }else{ 2662 setJCOMVODAppDetailModal("jcomapp://jp.co.jcom.JcomApp/webview/contents/" + query, 'http://itunes.apple.com/jp/app/id449811083?mt=8'); 2663 } 2664 modalHasData = true; 2665 }else if(os === 'android'){ 2666 // Androidã®Chomeã®æã¯ã¤ã³ãã³ãèµ·å 2667 if (isNowBrowsers(['chrome'])){ 2668 location.href = "intent://jp.co.jcom.JcomApp/webview/contents/" + assetId + "#Intent;scheme=jcomapp;package=jp.co.jcom.JcomApp;end"; 2669 }else{ 2670 launchJcomVODApp("jcomapp://jp.co.jcom.JcomApp/webview/contents/" + assetId, 'market://details?id=jp.co.jcom.JcomApp'); 2671 } 2672 }else{ 2673 jumpToJcomVODURL(assetId); 2674 } 2675} 2676function jumpToJcomVODURL(assetId){ 2677 var url = 'https://jvod.myjcom.jp/detail/'+assetId; 2678 window.open( url, "_blank" ); 2679} 2680 2681// iOS 2682function launchJcomVODApp(appUrl, storeUrl){ 2683 var iframe = document.createElement('iframe'); 2684 iframe.style.visibility = "hidden"; 2685 iframe.src = appUrl; 2686 document.body.appendChild(iframe); 2687 2688 var time = (new Date()).getTime(); 2689 2690 setTimeout(function(){ 2691 var now = (new Date()).getTime(); 2692 document.body.removeChild(iframe); 2693 if((now-time)>400) { 2694 return; 2695 } 2696 document.location = storeUrl; 2697 }, 100); 2698} 2699// ãã©ã¦ã¶å¤å® 2700var isNowBrowsers = function(browsers){ 2701 var thusBrowser = getBrowser(); 2702 for(var i=0; i<browsers.length; i++){ 2703 if(browsers[i] == thusBrowser){ 2704 return true; 2705 exit; 2706 } 2707 } 2708 return false; 2709}; 2710 2711function checkNowDeviceOS(){ 2712 // var userAgent = window.navigator.userAgent.toLowerCase(); 2713 // os = null; 2714 // if(userAgent.indexOf('iphone') != -1){ 2715 // os = 'ios'; 2716 // }else if(userAgent.indexOf('ipad') != -1){ 2717 // os = 'ios'; 2718 // }else if(userAgent.indexOf('ipod') != -1){ 2719 // os = 'ios'; 2720 // }else if(userAgent.indexOf('android') != -1){ 2721 // os = 'android'; 2722 // }else{ 2723 // os = 'other'; 2724 // } 2725 var ua = navigator.userAgent.toLowerCase(); 2726 var os = 'other'; 2727 2728 if (ua.includes('iphone') || ua.includes('ipad') || ua.includes('ipod')) { 2729 os = 'ios'; 2730 } else if (ua.includes('android')) { 2731 os = 'android'; 2732 } 2733 return os; 2734 } 2735 2736 2737 2738/*============================================== 2739 2740 2021/11/16 2741 çªçµè¡¨ãã¹ã¿ã¼APIã®è¤æ°æ¤ç´¢ 2742 2743/*==============================================*/ 2744var masterApiSearchList; 2745var masterApiSearchResultList = []; 2746var masterApiStatusObj 2747var masterApiLoadedNum = 0; 2748var masterApiSearchCompleteCallback; 2749var masterApiSearchStatusList = []; 2750var masterApiMultiObjList = []; 2751var masterApiMultiObjUid = 0; 2752 2753function getJcomProgramMasterListMultiSearch(searchList,statusObj){ 2754 trace("================================== çªçµè¡¨ãã¹ã¿ã¼APIã®è¤æ°æ¤ç´¢ "+statusObj.callback); 2755// masterApiLoadedNum = 0; 2756// masterApiSearchList = searchList; 2757// masterApiStatusObj = statusObj; 2758// masterApiSearchCompleteCallback = statusObj.callback; 2759// statusObj.callback = "jcomProgramMasterMultiSearchLoaded"; 2760 2761 2762 var masterApiMultiObj = {}; 2763 masterApiMultiObj.loadNum = 0; 2764 masterApiMultiObj.loadTital = searchList.length; 2765 masterApiMultiObj.searchList = searchList; 2766 masterApiMultiObj.statusList = []; 2767 masterApiMultiObj.statusObj = statusObj; 2768 masterApiMultiObj.callback = statusObj.callback; 2769 masterApiMultiObj.resultList = []; 2770 masterApiMultiObjList.push(masterApiMultiObj); 2771 masterApiMultiObj.masterUid = masterApiMultiObjUid; 2772 2773 statusObj.callback = "jcomProgramMasterMultiSearchLoaded"; 2774 statusObj.masterUid = masterApiMultiObjUid; 2775 masterApiMultiObjUid++; 2776 2777 var len = searchList.length; 2778 for(var i=0;i<len;i++){ 2779 var searchObj = searchList[i]; 2780 getJcomProgramMasterList(searchObj,statusObj); 2781 }// for 2782 2783} 2784 2785// èªã¿è¾¼ã¿å®äº 2786function jcomProgramMasterMultiSearchLoaded(result,status,searchObj,statusObj){ 2787 trace("çªçµè¡¨ãã¹ã¿ã¼APIã®è¤æ°æ¤ç´¢ï¼èªã¿è¾¼ã¿å®äº "+status); 2788 trace(searchObj); 2789 trace(result); 2790 2791 var len = masterApiMultiObjList.length; 2792 for(var i=0;i<len;i++){ 2793 var masterApiMultiObj = masterApiMultiObjList[i]; 2794 2795 if(statusObj.masterUid == masterApiMultiObj.masterUid){ 2796 masterApiMultiObj.loadNum ++; 2797 masterApiMultiObj.statusList.push(status); 2798 2799 if(status == 0){ 2800 var resultN = result.length; 2801 for(var v=0;v<resultN;v++){ 2802 var obj = result[v];
2803 obj.alignment = searchObj.alignment; 2804 masterApiMultiObj.resultList.push(obj); 2805 }// for 2806 } 2807 2808 if(masterApiMultiObj.loadNum == masterApiMultiObj.loadTital){ 2809 jcomProgramMasterMultiSearchLoadedComplete(masterApiMultiObj); 2810 } 2811 } 2812 }// for 2813 2814}// 2815 2816// å ¨ã¦èªã¿è¾¼ã¿å®äº 2817function jcomProgramMasterMultiSearchLoadedComplete(masterApiMultiObj){ 2818 trace("çªçµè¡¨ãã¹ã¿ã¼APIã®è¤æ°æ¤ç´¢ï¼å ¨ã¦èªã¿è¾¼ã¿å®äº "); 2819 2820 var result; 2821 var status; 2822 2823 if(masterApiMultiObj.resultList.length != 0){ 2824 2825 trace("å "); 2826 trace(masterApiMultiObj.resultList); 2827 // éè¤åé¤ 2828 var list = filterUniqueItemsById(masterApiMultiObj.resultList); 2829// trace("éè¤åé¤"); 2830// trace(list); 2831 2832 // æ¾éæ¥é ã«ä¸¦ã¹æ¿ã 2833 list.sort(function(a,b) { 2834 return (new Date(a.next_dateObj) > new Date(b.next_dateObj) ? 1 : -1); 2835 }); 2836 status = 0; 2837 result = list; 2838 2839 }else{ 2840 status = 1; 2841 result = "çªçµæ å ±ã¯ããã¾ããã§ããã"; 2842 } 2843 2844 var searchObj = masterApiMultiObj.searchList;//masterApiSearchList; 2845 var statusObj = masterApiMultiObj.statusObj;//masterApiStatusObj; 2846 var callback_func = masterApiMultiObj.callback; 2847 statusObj.api_type = 'master'; 2848 2849 if(callback_func != null) parent[callback_func](result,status,searchObj,statusObj); 2850}// 2851 2852// éè¤ãåé¤ 2853function filterUniqueItemsById (array) { 2854 // idãéç´ããé åã使 2855 const itemIds = array.map(function(item) { 2856 return item.programId; 2857 }); 2858 // 2859 return array.filter(function(item, index) { 2860 //return itemIds.indexOf(item.programId) === index; 2861 return itemIds.findIndex(id => id === item.programId) === index; 2862 }); 2863} 2864 2865 2866/*============================================== 2867 2868 2021/3/23 2869 çªçµè¡¨ãã¹ã¿ã¼API 2870/** 2871 // APIãã©ã¡ã¼ã¿ 2872 var searchObj = { 2873 //areaId:12, // ã¨ãªã¢IDãçç¥å¯ 2874 genreId:6, // ã¸ã£ã³ã«ID 2875 //keyword:'ã¿ã¢ãª', // æ¤ç´¢ã¯ã¼ããAPIã§ã¯queryã§å¦ç 2876 //limit:10, // æ¤ç´¢çµææ° 2877 //targetChannels:'0,1', // æ¤ç´¢å¯¾è±¡ã®æ¾éæ³¢ã0ï¼CATVï¼ã1ï¼ã³ãã¥ãã£ã³ï¼ã2ï¼BSï¼ã3ï¼å°ãã¸ï¼ã«ã³ãåºåãã§è¤æ°è¨å®å¯ 2878 //serviceCode:'561_65406,560_65406', 2879 queryTarget:0, // æ¤ç´¢å¯¾è±¡ã0ï¼ãã¹ã¦ï¼åæè¨å®ï¼ã1ï¼çªçµåï¼ã2ï¼çªçµå 容ï¼ãçç¥å¯ 2880 queryType:0, // 0ï¼andæ¤ç´¢ï¼,ã1ï¼oræ¤ç´¢ï¼ 2881 attr:null, // ã¤ãã³ã屿§ ããã©ã«ããªã 2882 2883 // 2021/3/17 è¿½å æ©è½ 2884 //optionChannel:0,// ãã£ã³ãã«ç¨®å¥ 0ï¼åºæ¬ãã£ã³ãã«ï¼ 1ï¼ãªãã·ã§ã³ãã£ã³ãã«ï¼ãæå®ç¡ãã®å ´åã¯ãçµãè¾¼ã¿ç¡ã 2885 //programId:'4716,547442', // ããã°ã©ã IDãæå®ãã«ã³ãåºåãã§è¤æ°æå®å¯è½ãæå®ç¡ãã¯çµãè¾¼ã¿ç¡ã éç´ããããã¹ã¿æ å ±ãåå¨ããå ´åã¯ã親ã®çªçµãã¹ã¿æ å ±ãè¿å´ã 2886 //alignment:'new,feature,classic', // çªçµãã¹ã¿ç®¡çç»é¢ããç»é²ããä»»ææååã®ãã©ã°ãæå®ãããã«ã³ãåºåãã§è¤æ°æå®å¯è½ã 2887 alignment_title:'BTSç¹éã¨å¹´æ«å¹´å§ä¸ææ¾éã¨å¹´æ«å¹´å§ç¹çª',// ãã©ã°åã表示ããéã®æè¨ãè¨å®ãªãå ´åã¯ãã©ã°ãã®ã¾ã¾ã 2888 //hasExternalText:0, // 0ï¼ãã¹ã¦ï¼åæè¨å®ï¼ 1ï¼è¿½å ã³ã³ãã³ãããã¹ãããã®ã¿ï¼ çªçµãã¹ã¿ç®¡çç»é¢ããç»é²ããããã¹ãã³ã³ãã³ããåå¨ãããã¹ã¿æ å ±ãè¿å´ããã 2889 //hasExternalImage:0, // 0ï¼ãã¹ã¦ï¼åæè¨å®ï¼ 1ï¼è¿½å ã³ã³ãã³ãç»åããã®ã¿ï¼ çªçµãã¹ã¿ç®¡çç»é¢ããç»é²ããç»åã³ã³ãã³ããåå¨ãããã¹ã¿æ å ±ãè¿å´ããã 2890 //hasExternalVideo:0, // 0ï¼ãã¹ã¦ï¼åæè¨å®ï¼ 1ï¼è¿½å ã³ã³ãã³ãåç»ããã®ã¿ï¼ çªçµãã¹ã¿ç®¡çç»é¢ããç»é²ããåç»ã³ã³ãã³ããåå¨ãããã¹ã¿æ å ±ãè¿å´ããã 2891 //sort:0, // 0ï¼ç´è¿SIæ¾éæ¥æï¼åæè¨å®)ã1ï¼çªçµãã¹ã¿å)ã2ï¼ãã£ã³ãã«)ã3ï¼ã¸ã£ã³ã«) 2892 //order:0, // 0ï¼æé ï¼åæè¨å®)ã1ï¼éé ) 2893 hasNextSi:0, // ç´è¿æ¾éã®æç¡ 0ï¼ãã¹ã¦ï¼åæè¨å®ï¼ 1ï¼ç´è¿æ¾éæ å ±æãã®ã¿ï¼ ç´è¿æ¾éæ å ±ãå
2893å¨ããçªçµãã¹ã¿ãè¿å´ããã 2894 }; 2895 2896 // å¶å¾¡ç¨ãã©ã¡ã¼ã¿ 2897 var statusObj = { 2898 uid:0, // UID 2899 container:'.program_master_api_container', //çªçµè¡¨æ ¼ç´ã³ã³ããï¼.ä»ãã®æååã§æå®ï¼ããã©ã«ãï¼.tv_program_listãçç¥å¯ 2900 //container_parent:'.section_programlist', // [Bã©ã³ã¯ã§ã¯è¨å®NG!] æ¤ç´¢çµæããªãå ´åãã¨ã©ã¼çºçæãé表示ã«ããã¨ãªã¢ï¼.ä»ãã®æååã§æå®ï¼ããã©ã«ãï¼.section_relation_program .content_programï¼Bã©ã³ã¯ç¨ï¼ 2901 ng_genreid:'31,60', // æå®ããã¸ã£ã³ã«IDãé¤å¤ 2902 ng_perfectmatching:false, // NGã¯ã¼ããå®å ¨ä¸è´ã¨ããï¼trueï¼ããªãï¼false:ããã©ã«ãï¼ãçç¥å¯ 2903 nodata_hide:true, // æ¤ç´¢çµæããªãå ´åãã¨ã©ã¼çºçæãã¨ãªã¢ãã¨é表示ã«ããï¼true:ããã©ã«ãï¼ããªãï¼falseï¼ãçç¥å¯ 2904 displayN:10, // ãã£ã¨è¦ããã¿ã³ã表示ãæå®æ°ãã¤çªçµã表示ãããçç¥å¯ 2905 callback:'jcomProgramMasterAPIComplete', // ã³ã¼ã«ããã¯é¢æ° ããã©ã«ãï¼searchProgramAPICompleteãçç¥å¯ 2906 useRecommend:0,// ããããçªçµãã©ã°ãå©ç¨ 0ï¼ããªãï¼ããã©ã«ãï¼,1ï¼ããï¼ 2907 }; 2908 2909 // ãã¼ã¿å¼ã³åºã 2910 getJcomProgramMasterList(searchObj,statusObj); 2911 2912/*==============================================*/ 2913 2914//var defaultNGwords = ['çªçµæ¡å ','çªçµã¬ã¤ã','ã¡ã¬ããã¯ã§é ä¿¡ä¸ï¼']; 2915 2916function getJcomProgramMasterList(_searchObj,_statusObj){ 2917 trace("çªçµè¡¨ãã¹ã¿ã¼API ï¼jcom_api.jsï¼"); 2918 setCurrentTimeForAPI(); 2919 trace(_searchObj); 2920 var user_area_id = jQuery.cookie("area_id"); 2921 if(user_area_id == undefined){ 2922 user_area_id = 12; 2923 } 2924 var searchObj = {}; 2925 var statusObj = {}; 2926 2927 // _searchObjããAPIæ¤ç´¢ç¨Objãæ½åº 2928 2929 // 2021/4/1追å 2930 if(_searchObj.hasNextSi != null){ 2931 searchObj.hasNextSi = _searchObj.hasNextSi; 2932 } 2933 // 2021/3/18追å 2934 if(_searchObj.optionChannel != null){ 2935 searchObj.optionChannel = _searchObj.optionChannel; 2936 } 2937 if(_searchObj.programId != null){ 2938 searchObj.programId = _searchObj.programId; 2939 } 2940 if(_searchObj.alignment != null){ 2941 searchObj.alignment = _searchObj.alignment; 2942 } 2943 if(_searchObj.alignment_title != null){ 2944 searchObj.alignment_title = _searchObj.alignment_title; 2945 }else{ 2946 searchObj.alignment_title = _searchObj.alignment; 2947 } 2948 if(_searchObj.hasExternalText != null){ 2949 searchObj.hasExternalText = _searchObj.hasExternalText; 2950 } 2951 if(_searchObj.hasExternalImage != null){ 2952 searchObj.hasExternalImage = _searchObj.hasExternalImage; 2953 } 2954 if(_searchObj.hasExternalVideo != null){ 2955 searchObj.hasExternalVideo = _searchObj.hasExternalVideo; 2956 } 2957 if(_searchObj.sort != null){ 2958 searchObj.sort = _searchObj.sort; 2959 }
2960 if(_searchObj.order != null){ 2961 searchObj.order = _searchObj.order; 2962 } 2963 if(_searchObj.attr != null){ 2964 searchObj.attr = _searchObj.attr; 2965 } 2966 if(_searchObj.adult != null){ 2967 searchObj.adult = _searchObj.adult; 2968 }else{ 2969 searchObj.adult = 0; 2970 } 2971 if(_searchObj.attr != null){ 2972 searchObj.attr = _searchObj.attr; 2973 } 2974 2975 if(_searchObj.areaId != null){ 2976 searchObj.areaId = _searchObj.areaId; 2977 }else{ 2978 searchObj.areaId = user_area_id; 2979 } 2980 2981 if(_searchObj.limit != null){ 2982 searchObj.limit = 100; 2983 statusObj.limit = _searchObj.limit; 2984 }else{ 2985 searchObj.limit = 1000; 2986 statusObj.limit = 1000; 2987 } 2988 2989 if(_searchObj.keyword != null){ 2990 searchObj.query = _searchObj.keyword; 2991 searchObj.keyword = _searchObj.keyword; 2992 } 2993 2994 if(_searchObj.genreId != null){ 2995 if(_searchObj.genreId != 'null'){ 2996 searchObj.genreId = encodeURI(_searchObj.genreId); 2997 if(searchObj.keyword == ""){ 2998 searchObj.keyword = getProgramAPIGenrIDName(searchObj.genreId); 2999 //trace(searchObj.genreId+" searchObj.keyword "+searchObj.keyword); 3000 }; 3001 } 3002 } 3003 3004 // æ¾éæ³¢ã®è¨å®ããã°ãã£ã³ãã«è¨å®ç¡å¹ 3005 if(_searchObj.targetChannels != null){ 3006 //trace("_searchObj.targetChannels ããã"+_searchObj.targetChannels); 3007 searchObj.targetChannels = _searchObj.targetChannels; 3008 3009 var targetChannels_arr = _searchObj.targetChannels.split(','); 3010 var wavename = ""; 3011 if(1 < targetChannels_arr.length){ 3012 3013 for(var i=0;i<targetChannels_arr.length;i++){ 3014 if(i < 4){ 3015 if(i != 0) wavename += " / "; 3016 wavename += getTargetChannelTypeByID(targetChannels_arr[i]); 3017 } 3018 }// for 3019 }else{ 3020 wavename = getTargetChannelTypeByID(_searchObj.targetChannels); 3021 } 3022 if(searchObj.keyword == "") searchObj.keyword = wavename; 3023 3024 }else{ 3025 if(_searchObj.serviceCode != null){ 3026 //trace("_searchObj.serviceCode ããã"+_searchObj.serviceCode); 3027 3028 searchObj.serviceCode = _searchObj.serviceCode; 3029 var serviceCode_arr = _searchObj.serviceCode.split(','); 3030 var chname = ""; 3031 if(1 < serviceCode_arr.length){ 3032 3033 for(var i=0;i<serviceCode_arr.length;i++){ 3034 if(i < 3){ 3035 if(i != 0) chname += " / "; 3036 chname += getChannelNameByServiceCode(serviceCode_arr[i]); 3037 }else if(i == 3){ 3038 chname += " ãªã©ã®ãã£ã³ãã«"; 3039 } 3040 }// for 3041 }else{ 3042 chname = getChannelNameByServiceCode(_searchObj.serviceCode); 3043 } 3044 3045 if(searchObj.keyword == "") searchObj.keyword = chname; 3046 } 3047 } 3048 3049 if(_searchObj.queryType != null){ 3050 searchObj.queryType = Number(_searchObj.queryType); 3051 }else{ 3052 searchObj.queryType = 0; 3053 } 3054 3055 if(_searchObj.queryTarget != null){ 3056 searchObj.queryTarget = _searchObj.queryTarget; 3057 }else{ 3058 searchObj.queryTarget = 0; 3059 } 3060 3061 // _statusObjããå¶å¾¡ç¨Objãæ½åº 3062 3063 if(_statusObj.uid != null) statusObj.uid = _statusObj.uid; 3064 if(_statusObj.masterUid != null) statusObj.masterUid = _statusObj.masterUid; 3065 3066 if(_statusObj.container != null){ 3067 statusObj.container = _statusObj.container; 3068 }else{ 3069 statusObj.container = '.program_master_list'; 3070 } 3071 if(_statusObj.container_parent != null){ 3072 statusObj.container_parent = _statusObj.container_parent; 3073 }else{ 3074 statusObj.container_parent = '.section .content_programmaster'; 3075 } 3076 if(_statusObj.callback != null){ 3077 statusObj.callback = _statusObj.callback; 3078 }else{ 3079 statusObj.callback = "searchProgramAPIComplete"; 3080 } 3081 if(_statusObj.research != null){ 3082 statusObj.research = _statusObj.research; 3083 }else{ 3084 statusObj.research = false; 3085 } 3086 if(_statusObj.nodata_hide != null){ 3087 statusObj.nodata_hide = _statusObj.nodata_hide; 3088 }else{ 3089 statusObj.nodata_hide = true; 3090 } 3091 if(_statusObj.noimage != null){ 3092 statusObj.noimage = _statusObj.noimage; 3093 }else{ 3094 statusObj.noimage = '/special/common/images/no_image_800x448.jpg'; 3095 } 3096 if(_searchObj.title != null){ 3097 searchObj.keyword = _searchObj.title; 3098 } 3099 3100 if(searchObj.keyword == "") searchObj.keyword = "æ¤ç´¢æ¡ä»¶ãªã"; 3101 3102 // ãã£ã¨è¦ããã¿ã³ã§ã®è¡¨ç¤ºæ° 3103 if(_statusObj.displayN != null){ 3104 statusObj.displayN = _statusObj.displayN; 3105 } 3106 3107 // ãã£ã¨è¦ããã¿ã³ã§ã®è¡¨ç¤ºæ° 3108 if(_statusObj.useRecommend != null){ 3109 statusObj.useRecommend = _statusObj.useRecommend; 3110 }else{ 3111 statusObj.useRecommend = 0; 3112 } 3113 3114 // NGã¯ã¼ã追å 3115 if(_statusObj.ngwords != undefined){ 3116 statusObj.ngwords = _statusObj.ngwords; 3117 } else { 3118 statusObj.ngwords = []; 3119 } 3120 3121 if(_statusObj.ng_perfectmatching != null){ 3122 statusObj.ng_perfectmatching = _statusObj.ng_perfectmatching; 3123 }else{ 3124 statusObj.ng_perfectmatching = false;
3125 } 3126 // NGãã£ã³ãã« 3127 if(_statusObj.ng_channels != undefined){ 3128 statusObj.ng_channels = _statusObj.ng_channels; 3129 } else { 3130 statusObj.ng_channels = []; 3131 } 3132 // NGã¸ã£ã³ã«ID 3133 if(_statusObj.ng_genreid != undefined){ 3134 statusObj.ng_genreid = _statusObj.ng_genreid; 3135 } else { 3136 statusObj.ng_genreid = []; 3137 } 3138 // ã³ã¼ã«ããã¯ãã©ã¡ã¼ã¿åã®æå® 3139 jsonpCallbackUID ++; 3140 statusObj.jsonpCallback = 'search_program'+jsonpCallbackUID; 3141 3142 searchJCOMProgramMasterAPI(searchObj,statusObj); 3143} 3144 3145//function isArray(obj) { 3146// return Object.prototype.toString.call(obj) === '[object Array]'; 3147//} 3148/*-------------------------------------------------------------- 3149 çªçµè¡¨ãã¹ã¿ã¼APIï¼æ¤ç´¢ 3150--------------------------------------------------------------*/ 3151function searchJCOMProgramMasterAPI(searchObj,statusObj){ 3152 trace('çªçµè¡¨ãã¹ã¿ã¼APIï¼jcom_apiï¼ï¼æ¤ç´¢'); 3153 var result = []; 3154 var message = ""; 3155 var dataType = "jsonp"; 3156 var jsonpCallback = statusObj.jsonpCallback; 3157 var url = "https://tvguide.myjcom.jp/api/getProgramMaster/?"; 3158 var alignment_title = searchObj.alignment_title; 3159 3160 if(isMyjcom){ 3161 url += getAPIRequestQuery(searchObj,false); 3162 //trace("çªçµè¡¨ãã¹ã¿ã¼APIï¼jcom_apiï¼ï¼myjcom "+url); 3163 }else{ 3164 var param = getAPIRequestQuery(searchObj,true); 3165 url = api_php_path+'wrp='+jsonpCallback+'&url='+url+param; 3166 url = location.protocol+"//"+location.host+url; // ãã¼ã«ã«ããã¢ã¯ã»ã¹ã§ãããã絶対ãã¹ã§æå® 3167 //trace("çªçµè¡¨ãã¹ã¿ã¼APIï¼jcom_apiï¼ï¼other "+url); 3168 } 3169 3170 var callback = statusObj.callback; 3171 var load_status; 3172 3173 $.ajax({ 3174 url: url, 3175 type:'POST', 3176 dataType: dataType, 3177 jsonpCallback: jsonpCallback 3178 }).done(function(data){ // Ajaxãªã¯ã¨ã¹ããæåããæçºå 3179 trace("çªçµè¡¨ãã¹ã¿ã¼APIï¼jcom_apiï¼ï¼DONE"); 3180 trace(data); 3181 3182 if(data === undefined) { 3183 result = ['æ¤ç´¢å¤±æï¼data === undefinedï¼']; 3184 load_status = 2; 3185 trace("æ¤ç´¢å¤±æï¼çªçµè¡¨ãã¹ã¿ã¼APIï¼jcom_apiï¼ï¼DONEï¼"+result); 3186 return; 3187 } 3188 3189 data.totalCount = statusObj.totalCount; 3190 trace("data.totalCount "+data.totalCount); 3191 3192 load_status = data.status; 3193 if(load_status != 0) return; 3194 var pdata = data.programMst; 3195 trace(pdata); 3196 3197 // é²ç»äºç´ãå¯è½ãªæ¥æ° 3198 // var recPossibleDate = getDateAfterXdays(new Date(),8); 3199 3200 trace("pdata.length "+pdata.length); 3201 3202 if(pdata.length != 0){ 3203 var count = 0; 3204 var limit = statusObj.limit; 3205 var ngwords = statusObj.ngwords;// NGã¯ã¼ã 3206 var ng_channels = statusObj.ng_channels;// NGãã£ã³ãã« 3207 var ng_perfectmatching = statusObj.ng_perfectmatching; 3208 var ng_genreid = statusObj.ng_genreid;// NGã¸ã£ã³ã«ID 3209 3210 // æ¤ç´¢çµæãã¼ã¿ã使 3211 jQuery.each(pdata, function(key, val){ 3212 3213 if(count == limit) return true; 3214 3215 var programId = val.programId; 3216 var title = val.title; 3217 3218 // NGã¯ã¼ãï¼ã¿ã¤ãã«ï¼ 3219 var hasNG = hasNGwords(title,ngwords,ng_perfectmatching); 3220 if(hasNG) return true; 3221 3222 var channels = val.channels; 3223 var serviceCode = val.channels[0].serviceCode; 3224 var channelType = val.channels[0].channelType; 3225 var channelNo = val.channels[0].channelNo; 3226 var channelName = val.channels[0].channelName; 3227 var channelLogoUrl = val.channels[0].channelLogoUrl; 3228 3229 // NGãã£ã³ãã« 3230 var hasNGChannel = hasNGwords(channelName,ng_channels,ng_perfectmatching); 3231 if(hasNGChannel) return true; 3232 3233 // if(35 < key && key < 39){ 3234 // NGã¸ã£ã³ã«ID 3235 var hasNGGenreID = false; 3236 if(ng_genreid.length != 0){ 3237 hasNGGenreID = hasNGGenreIDCheck(val.genreIds,ng_genreid); 3238 //trace(val.genreIds+" hasNGGenreID "+hasNGGenreID +" "+title); 3239 if(hasNGGenreID) return true; 3240 } 3241 // 3242 // } 3243 3244 var genreIds = val.genreIds; 3245 var summary = val.summary; 3246 var url = val.url; 3247 var attr = val.attr; 3248 // çªçµã¹ãã¼ã¿ã¹ 3249 // var live = (-1 !== attr.indexOf('live')); 3250 // var first = (-1 !== attr.indexOf('first')); 3251 // var repeat = (-1 !== attr.indexOf('rep')); 3252 // var duo = (-1 !== attr.indexOf('duo')); 3253 // var free = (-1 !== attr.indexOf('free')); 3254 3255 var live = attr.includes('live'); 3256 var first = attr.includes('first'); 3257 var repeat = attr.includes('rep'); 3258 var duo = attr.includes('duo'); 3259 var free = attr.includes('free'); 3260 3261 var photos = val.photos; 3262 var photo = (photos[0]) ? val.photos[0].photo : statusObj.noimage; 3263 var copyright = (photos[0]) ? val.photos[0].copyright : ''; 3264 3265 var externalText = val.externalText; 3266 var externalTextTitle = (externalText[0]) ? val.externalText[0].title : false;
3267 var externalTextContent = (externalText[0]) ? val.externalText[0].content : false; 3268 var externalImage = val.externalImage; 3269 var externalImageUrl = (externalImage[0]) ? val.externalImage[0].url: false; 3270 var externalVideo = val.externalVideo; 3271 var embed = (externalVideo[0]) ? val.externalVideo[0].embed: false; 3272 var warningMessage = val.warningMessage; 3273 var errorCode = val.errorCode; 3274 var errorMessage = val.errorMessage; 3275 3276 // ç´è¿ã®çªçµã¹ã±ã¸ã¥ã¼ã« 3277 var next_dateObj,next_date,next_date_short; 3278 var hasNextTime = false; 3279 var nextStartTime = val.nextStartTime; 3280 if(hasNextTime != undefined){ 3281 next_dateObj = YYYYMMDDhhmmssToDateObj(nextStartTime); 3282 next_date = formatDate(next_dateObj, 'YYYYå¹´MMæDDæ¥ï¼Wï¼hh:mm'); 3283 next_date_short = formatDate(next_dateObj, 'MM/DD(W) hh:mm'); 3284 3285 var next_date_short_arr = next_date_short.split('/'); 3286 var short_year = Number(next_date_short_arr[0]); 3287 3288 //trace("short_year "+short_year); 3289 var short_month_arr = next_date_short_arr[1].split('('); 3290 var short_month = Number(short_month_arr[0]); 3291 next_date_short = short_year+"/"+short_month+'('+short_month_arr[1]; 3292 hasNextTime = true; 3293 } 3294 3295 var end_dateObj,end_date,end_time; 3296 var hasEndTime = false; 3297 var nextEndTime = val.nextEndTime; 3298 if(nextEndTime != undefined){ 3299 end_dateObj = YYYYMMDDhhmmssToDateObj(nextEndTime); 3300 end_date = formatDate(end_dateObj, 'MMæDDæ¥ï¼Wï¼hh:mm'); 3301 end_time = formatDate(end_dateObj, 'hh:mm'); 3302 hasEndTime = true; 3303 } 3304 3305 // 3306 var onairTimeObj = checkThisProgramNowOnair(next_dateObj,nextStartTime,nextEndTime); 3307 var nowonair = onairTimeObj.nowonair; 3308 var todayonair = onairTimeObj.todayonair; 3309 3310 var obj = { 3311 programId:programId, 3312 title:title, 3313 channels:channels, 3314 serviceCode:serviceCode, 3315 channelType:channelType, 3316 channelNo:channelNo, 3317 channelName:channelName, 3318 channelLogoUrl:channelLogoUrl, 3319 genreIds:genreIds, 3320 summary:summary, 3321 url:url, 3322 attr:attr, 3323 live:live, 3324 first:first, 3325 repeat:repeat, 3326 duo:duo, 3327 free:free, 3328 photos:photos, 3329 photo:photo, 3330 copyright:copyright, 3331 externalText:externalText, 3332 externalTextTitle:externalTextTitle, 3333 externalTextContent:externalTextContent, 3334 externalImage:externalImage, 3335 externalImageUrl:externalImageUrl, 3336 externalVideo:externalVideo, 3337 embed:embed, 3338 warningMessage:warningMessage, 3339 errorCode:errorCode, 3340 errorMessage:errorMessage, 3341 nextStartTime:nextStartTime, 3342 nextEndTime:nextEndTime, 3343 next_date:next_date, 3344 next_date_short:next_date_short, 3345 end_date:end_date, 3346 next_dateObj:next_dateObj, 3347 end_dateObj:end_dateObj, 3348 hasNextTime:hasNextTime, 3349 hasEndTime:hasEndTime, 3350 end_time:end_time, 3351 alignment_title:alignment_title, 3352 nowonair:nowonair, 3353 todayonair:todayonair 3354 }; 3355 3356 3357 result.push(obj); 3358 3359 count++; 3360 });//jQuery.each 3361 //*/ 3362 }else{ 3363 // æ¤ç´¢çµæãªã 3364 result = ['æ¤ç´¢çµæã¯ããã¾ãã']; 3365 load_status = 1; 3366 } 3367 3368 }).fail(function(data){ // Ajaxãªã¯ã¨ã¹ãã失æããæçºå 3369 result = ["APIã¨ã©ã¼ï¼"+data.errorMassage]; 3370 load_status = 2; 3371 trace("çªçµè¡¨ãã¹ã¿ã¼APIï¼jcom_apiï¼ï¼FAIL "+result); 3372 3373 }).always(function(data){ // Ajaxãªã¯ã¨ã¹ããæåã»å¤±æã©ã¡ãã§ãçºå 3374 /**/ 3375 trace("çªçµè¡¨ãã¹ã¿ã¼APIï¼jcom_apiï¼ï¼ALWAYS"); 3376 trace(searchObj); 3377 trace(statusObj); 3378 trace(result); 3379 //trace(data); 3380 //*/ 3381 searchObj.searchBtnURL = getSearchProgramMasterBtnURL(searchObj); 3382 statusObj.api_type = 'master'; 3383 3384 if(callback != null) parent[callback](result,load_status,searchObj,statusObj); 3385 }); 3386 3387} 3388 3389/*-------------------------------------------------------------- 3390 çªçµè¡¨ãã¹ã¿ã¼APIï¼ãã£ã¨ã¿ããã¿ã³ã®URL 3391 2021/3/18 3392--------------------------------------------------------------*/ 3393function getSearchProgramMasterBtnURL(searchObj){ 3394 var query = (searchObj.query) ? "keyword="+searchObj.query : ""; 3395 var genreId = (searchObj.genreId) ? "&genre="+searchObj.genreId : ""; 3396 var queryTypeID = (searchObj.queryType) ? searchObj.queryType : ""; 3397 var queryType = ""; 3398 3399 if(queryTypeID == 1){ 3400 queryType = "&keywordType=or"; 3401 } 3402 3403 var targetChannels = ""; 3404 var channel = ""; 3405 3406 //trace("searchObj.targetChannels "+searchObj.targetChannels); 3407 3408 if(searchObj.targetChannels != null){ 3409 targetChannels = getTargetChannelsQuery(searchObj.targetChannels); 3410 }else if(searchObj.serviceCode != null){ 3411 channel = '&channel='+searchObj.serviceCode; 3412 } 3413 3414 var keywordType = ""; 3415 if(searchObj.queryType){ 3416 keywordType = (searchObj.queryType == 0) ? "&keywordType=and" : "&keywordType=or"; 3417 } 3418 3419 var queryTarget = ""; 3420 if(searchObj.queryTarget){ 3421 if(searchObj.queryTarget == 1){ 3422 queryTarget = '&keywordTarget=title'; 3423 }else if(searchObj.queryTarget == 2){ 3424 queryTarget = '&keywordTarget=detail'; 3425 } 3426 } 3427 3428 var url = "https://tvguide.myjcom.jp/search/event/?"+query+targetChannels+genreId+channel+keywordType+queryTarget; 3429 //if(isStage) url = "https://stage-tvguide.myjcom.jp/search/event/?"+query+targetChannels+genreId+channel+keywordType; 3430 3431 return encodeURI(url); 3432} 3433 3434/*-------------------------------------------------------------- 3435 ç¾å¨æ¾éä¸ãnowonair 3436--------------------------------------------------------------*/ 3437var currentTimeForAPI_Date,currentTimeForAPI_Year,currentTimeForAPI_Month,currentTimeForAPI_Day,currentTimeForAPI_Hour,currentTimeForAPI_Minutes; 3438var currentTimestamp; 3439 3440function setCurrentTimeForAPI(){ 3441 currentTimeForAPI_Date = new Date(); 3442 //currentTimeForAPI_Date = new Date('2023-08-24 18:10:00'); 3443 3444 currentTimeForAPI_Year = formatDate(currentTimeForAPI_Date, 'YYYY'); 3445 currentTimeForAPI_Month = formatDate(currentTimeForAPI_Date, 'MM'); 3446 currentTimeForAPI_Day = formatDate(currentTimeForAPI_Date, 'DD'); 3447 currentTimeForAPI_Hour = parseInt(currentTimeForAPI_Date.getHours()); 3448 currentTimeForAPI_Minutes = parseInt(currentTimeForAPI_Date.getMinutes()); 3449 3450 var currentYear = currentTimeForAPI_Date.getFullYear(); 3451 var currentMonth = ('0' + (currentTimeForAPI_Date.getMonth() + 1)).slice(-2); 3452 var currentDay = ('0' + currentTimeForAPI_Date.getDate()).slice(-2); 3453 var currentHour = ('0' + currentTimeForAPI_Date.getHours()).slice(-2); 3454 var currentMinute = ('0' + currentTimeForAPI_Date.getMinutes()).slice(-2); 3455 var currentSecond = ('0' + currentTimeForAPI_Date.getSeconds()).slice(-2); 3456 currentTimestamp = currentYear + currentMonth + currentDay + currentHour + currentMinute + currentSecond; 3457 3458} 3459
3460function checkThisProgramNowOnair(startDate,startTime,endTime){ 3461 // NO ON AIR 3462 var flg_nowonair = false; 3463 var flg_todayonair = false; 3464 3465 // æå®ããæ¥æãæ¬æ¥ä¸ãã©ãããå¤å®ãã颿° 3466 function isToday(datetime) { 3467 // var now = new Date(); 3468 var currentDate = currentTimeForAPI_Date.getFullYear().toString() + 3469 ('0' + (currentTimeForAPI_Date.getMonth() + 1)).slice(-2) + 3470 ('0' + currentTimeForAPI_Date.getDate()).slice(-2); 3471 3472 var datePart = datetime.substring(0, 8); 3473 var datePartNumber = parseInt(datePart); 3474 return datePartNumber === parseInt(currentDate); 3475 } 3476 3477 // éå§æ¥ä»ã¨çµäºæ¥ä»ãæ°å¤ã«å¤æ 3478 var startDate = parseInt(startTime.substring(0, 14)); 3479 var endDate = parseInt(endTime.substring(0, 14)); 3480 var currentTimestampNumber = parseInt(currentTimestamp); 3481 3482 // ç¾å¨ã®æ¥ä»ãéå§æ¥ä»ã¨çµäºæ¥ä»ã®éã«ãããå¤å® 3483 flg_nowonair = currentTimestampNumber >= startDate && currentTimestampNumber <= endDate; 3484 3485 // éå§æ¥æã¨çµäºæ¥æãæ¬æ¥ä¸ãå¤å® 3486 flg_todayonair = isToday(startTime); 3487 3488 var onairTimeObj = { 3489 nowonair:flg_nowonair, 3490 todayonair:flg_todayonair 3491 } 3492 3493 3494 return onairTimeObj; 3495 3496}//
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.