1/* --------------------------------------------- 2 * 宿° 3 --------------------------------------------- */ 4const timestamp = Math.floor(Date.now() / 1000); 5const url = new URL(window.location.href); 6const searchParams = new URLSearchParams(window.location.search); 7const gameCategoryJsonFileUrl = window.location.origin + '/json/news/' + 'newsgamecategory.json'; 8const workspaceJsonUrl = window.location.origin + '/json/' + 'workspacename.json'; 9const containerElm = document.getElementById('js-news-ul'); 10const pagerContainerElm = document.getElementById('js-pager-div'); 11const perPage = 20; 12const heading = document.getElementById('js-news-top-heading'); 13const title = document.title; 14 15let titleArr = title.split('ï½'); 16titleArr.splice(1,0,'ãã¥ã¼ã¹'); 17 18 19let currentPage; 20 21if (!searchParams.get('page')) { 22 currentPage = 1; 23} else { 24 if (searchParams.get('page') >= 1) { 25 currentPage = searchParams.get('page'); 26 } else { 27 currentPage = 1; 28 } 29} 30if (currentPage == 1) { 31 containerElm.classList.add("c-card-list-8--accent"); 32} 33 34// OG:URLã®å¤æ´ 35var headData = document.head.children; 36for (var i = 0; i < headData.length; i++) { 37 // OGPã®è¨å® 38 var propertyVal = headData[i].getAttribute('property'); 39 if (propertyVal !== null) { 40 if (propertyVal.indexOf('og:url') != -1) { 41 headData[i].setAttribute('content', window.location.href); 42 break; 43 } 44 } 45} 46 47let subcategory = searchParams.get('subcategory'); 48if (!subcategory) { 49 subcategory = ''; 50} 51let ssubcategory = searchParams.get('ssubcategory'); 52if (!ssubcategory) { 53 ssubcategory = ''; 54} 55let category = ''; 56let categoryparams = ''; 57let sports = ''; 58let gamesports = ''; 59let game = ''; 60let athlete = ''; 61let year = ''; 62let pagerJson = 'news-pager-info.json'; 63let queryArr = []; 64//éå»å¤§ä¼ã®è¦åºãã®å¯¾å¿ 65if (searchParams.get('subcategory') || searchParams.get('ssubcategory')) { 66 pagerJson = 'subcategory-ssubcategory-pager-info.json'; 67 queryArr.push(subcategory); 68 queryArr.push(ssubcategory); 69 fetch(gameCategoryJsonFileUrl + '?' + timestamp) 70 .then(response => response.json()) 71 .then(gameCategoryArr => { 72 gameCategoryArr.forEach((gameCategory, index) => { 73 //ã«ãã´ãªã¼ãã©ã¡ããåå¨ããæ 74 if (subcategory && ssubcategory) { 75 if ( 76 gameCategory['subcategory'] == subcategory && 77 gameCategory['ssubcategory'] == ssubcategory 78 ) { 79 heading.textContent = gameCategory['game']; 80 titleArr[0] = gameCategory['game']; 81 document.title = titleArr.join('ï½'); 82 document.querySelector('meta[property="og:title"]').setAttribute('content', titleArr.join('ï½')); 83 return; 84 } 85 } 86 //subcategoryã®ã¿ 87 if (!ssubcategory) { 88 if (gameCategory['subcategory'] == subcategory) { 89 heading.textContent = gameCategory['game']; 90 titleArr[0] = gameCategory['game']; 91 document.title = titleArr.join('ï½'); 92 document.querySelector('meta[property="og:title"]').setAttribute('content', titleArr.join('ï½')); 93 return; 94 } 95 } 96 }); 97 }) 98 .catch(error => { 99 console.log(error); 100 alert('ã¨ã©ã¼ãçºçãã¾ãããåèªã¿è¾¼ã¿ããã¦ãã ããã'); 101 }); 102} else if (searchParams.get('category')) { 103 pagerJson = 'news-category-pager-info.json'; 104 queryArr.push(searchParams.get('category')); 105 category = searchParams.get('category').split(' '); 106 if (category.length >= 2) { 107 pagerJson = 'news-multiple-category-pager-info.json'; 108 queryArr = category; 109 } 110 categoryparams = searchParams.get('category'); 111 let categoryHeading = ''; 112 category.forEach((val, index) => { 113 if (index == 0) { 114 categoryHeading += val; 115 } else { 116 categoryHeading += 'ã' + val; 117 } 118 heading.textContent = categoryHeading; 119 titleArr[0] = categoryHeading; 120 document.title = titleArr.join('ï½'); 121 document.querySelector('meta[property="og:title"]').setAttribute('content', titleArr.join('ï½')); 122 }); 123} else if (searchParams.get('sports')) {
124 pagerJson = 'news-sports-pager-info.json'; 125 queryArr.push(searchParams.get('sports')); 126 sports = searchParams.get('sports'); 127 heading.textContent = sports; 128 titleArr[0] = sports; 129 document.title = titleArr.join('ï½'); 130 document.querySelector('meta[property="og:title"]').setAttribute('content', titleArr.join('ï½')); 131} else if (searchParams.get('game')) { 132 pagerJson = 'news-game-pager-info.json'; 133 queryArr.push(searchParams.get('sports')); 134 game = searchParams.get('game'); 135 fetch(workspaceJsonUrl + '?' + timestamp) 136 .then(response => response.json()) 137 .then(workspaceArr => { 138 workspaceArr.forEach((workspace, index) => { 139 if (workspace['fullname'] == game) { 140 heading.textContent = workspace['shortname']; 141 titleArr[0] = workspace['shortname']; 142 document.title = titleArr.join('ï½'); 143 document.querySelector('meta[property="og:title"]').setAttribute('content', titleArr.join('ï½')); 144 return; 145 } 146 }); 147 }) 148 .catch(error => { 149 console.log(error); 150 alert('ã¨ã©ã¼ãçºçãã¾ãããåèªã¿è¾¼ã¿ããã¦ãã ããã'); 151 }); 152} else if (searchParams.get('athlete')) { 153 pagerJson = 'news-athlete-pager-info.json'; 154 queryArr.push(searchParams.get('athlete')); 155 athlete = searchParams.get('athlete'); 156 heading.textContent = athlete; 157 titleArr[0] = athlete; 158 document.title = titleArr.join('ï½'); 159 document.querySelector('meta[property="og:title"]').setAttribute('content', titleArr.join('ï½')); 160} else if (searchParams.get('year')) { 161 pagerJson = 'news-year-pager-info.json'; 162 queryArr.push(searchParams.get('year')); 163 year = searchParams.get('year'); 164 heading.textContent = year + 'å¹´'; 165 titleArr[0] = year + 'å¹´'; 166 document.title = titleArr.join('ï½'); 167 document.querySelector('meta[property="og:title"]').setAttribute('content', titleArr.join('ï½')); 168} else if (!url.pathname.match(/^\/news\/index\.html/) && url.pathname.match(/^\/news\/([\w\d]+)/)) { 169 //ããª2024以éå¯¾å¿ 170 str = url.pathname.match(/^\/news\/(\w+)(?:\/index.html)?/); 171 // çµãè¾¼ã¿ã®å¤å¥ 172 if (searchParams.get('gamesports')) { 173 queryArr.push(searchParams.get('gamesports')); 174 gamesports = searchParams.get('gamesports'); 175 pagerJson = str[1] + '/newsgamesports-pager-info.json'; 176 } else { 177 pagerJson = str[1] + '/newsgames-pager-info.json'; 178 } 179 fetch(gameCategoryJsonFileUrl + '?' + timestamp) 180 .then(response => response.json()) 181 .then(gameCategoryArr => { 182 gameCategoryArr.forEach((gameCategory, index) => { 183 //baseurlãã§ã㯠184 if (gameCategory['baseurl'] == str[1]) { 185 if (searchParams.get('gamesports')) { 186 titleArr[0] = gameCategory['game'] + 'ã' + searchParams.get('gamesports'); 187 heading.textContent = gameCategory['game'] + 'ã' + searchParams.get('gamesports'); 188 } else { 189 titleArr[0] = gameCategory['game']; 190 heading.textContent = gameCategory['game']; 191 } 192 document.title = titleArr.join('ï½'); 193 document.querySelector('meta[property="og:title"]').setAttribute('content', titleArr.join('ï½')); 194 return; 195 } 196 }); 197 }) 198 .catch(error => { 199 console.log(error); 200 alert('ã¨ã©ã¼ãçºçãã¾ãããåèªã¿è¾¼ã¿ããã¦ãã ããã'); 201 }); 202} else { 203document.title = titleArr.join('ï½'); 204document.querySelector('meta[property="og:title"]').setAttribute('content', titleArr.join('ï½')); 205} 206 207fillter(pagerJson, queryArr); 208 209function fillter(pagerJson, queryArr) { 210 let requestYearArr = []; 211 let displayNewsIdArr = []; 212 let cnt = 0; 213 //ä½å¹´ããä½å¹´ã¾ã§ã®jsonãèªã¿è¾¼ãã 214 fetch(window.location.origin + '/json/news/' + pagerJson + '?' + timestamp) 215 .then(response => response.json()) 216 .then(pagerDataArr => { 217 pagerDataArr.forEach((pagerData, index) => { 218 if (queryArr.length >= 2) { 219 //ã«ãã´ãªã¼2ã¤ä»¥ä¸ 220 if (pagerData['data'][3].includes('OR')) { 221 for(const query of queryArr){ 222 if (pagerData['data'][3].includes(query)) { 223 makeNewsPagerIds(pagerData, requestYearArr, displayNewsIdArr); 224 cnt++; 225 break; 226 } 227 } 228 } else { 229 //subcategoryãssubcategory 230 if (queryArr[0] == pagerData['data'][3] && queryArr[1] == pagerData['data'][4]) { 231 makeNewsPagerIds(pagerData, requestYearArr, displayNewsIdArr); 232 cnt++; 233 } 234 } 235 } else if (queryArr.length >= 1) { 236 if (queryArr[0] == pagerData['data'][3]) { 237 makeNewsPagerIds(pagerData, requestYearArr, displayNewsIdArr); 238 cnt++; 239 } 240 } else { 241 //å ¨ã¦ 242 makeNewsPagerIds(pagerData, requestYearArr, displayNewsIdArr); 243 cnt++; 244 } 245 }) 246 if (displayNewsIdArr.length < 1) { 247 location.href = "/news/index.html?page=1"; 248 return; 249 } 250 requestYearArr = Array.from(new Set(requestYearArr)); 251 // ä½å¹´ããä½å¹´ã¾ã§ã®jsonãã¾ã¨ãã¦ãªã¯ã¨ã¹ã 252 // Fetchãªã¯ã¨ã¹ããéä¿¡ãã颿° 253 const fetchData = async (url) => { 254 const response = await fetch(url); 255 if (!response.ok) { 256 throw new Error(`HTTP error! status: ${response.status}`); 257 } 258 return response.json(); 259 }; 260 let allNewsArr = []; 261 // è¤æ°ã®Fetchãªã¯ã¨ã¹ãã並è¡ãã¦å®è¡ãããã¹ã¦ã®ãªã¯ã¨ã¹ããå®äºããã®ãå¾ ã¤ 262 Promise.all(requestYearArr.map(url => fetchData(url + '?' + timestamp))) 263 .then(dataArray => { 264 dataArray.forEach((val, index) => { 265 //å¹´æ¯ã®jsonã®ãã¼ã¿ãå ¨ã¦ãã¼ã¸ 266 allNewsArr = allNewsArr.concat(val); 267 }); 268 allNewsArr.forEach((val, index) => { 269 if (displayNewsIdArr.indexOf(val['id']) != -1) { 270 addNews(val); 271 }; 272 }); 273 }) 274 .catch(error => { 275 console.log(error); 276 alert('ã¨ã©ã¼ãçºçãã¾ãããåèªã¿è¾¼ã¿ããã¦ãã ããã'); 277 });
278 const totalPage = Math.ceil(cnt / perPage); 279 // æ§çã¨ããªä»¥éã¨ã§URLæ§æã夿´ 280 let url; 281 if (pagerJson.indexOf('newsgames-pager-info.json') === -1 && pagerJson.indexOf('newsgamesports-pager-info.json') === -1) { 282 url = window.location.origin + '/news/index.html?subcategory=' + subcategory + "&ssubcategory=" + ssubcategory + "&category=" + categoryparams + '&game=' + game + '&sports=' + sports + '&athlete=' + athlete + '&year=' + year + '&page='; 283 } else { 284 path = pagerJson.split("/"); 285 url = window.location.origin + '/news/' + path[0] + '/?gamesports=' + gamesports + '&page='; 286 } 287 if (currentPage > 1) { 288 makeElm('a', ["c-pager__link", "c-pager__link--prev"], pagerContainerElm, "", url + Number(currentPage - 1), "", "", "", "", ""); 289 } 290 makeElm('span', ["c-pager__txt"], pagerContainerElm, "", "", "", currentPage + "/" + totalPage, "", "", ""); 291 if (currentPage != totalPage) { 292 const nextPage = Number(currentPage) + 1; 293 makeElm('a', ["c-pager__link", "c-pager__link--next"], pagerContainerElm, "", url + nextPage, "", "", "", "", ""); 294 } 295 }) 296 .catch(error => { 297 console.log(error); 298 alert('ã¨ã©ã¼ãçºçãã¾ãããåèªã¿è¾¼ã¿ããã¦ãã ããã'); 299 }); 300} 301 302function makeNewsPagerIds(pagerData, requestYearArr, displayNewsIdArr) { 303 if (pagerData['data'][2] == currentPage) { 304 requestYearArr.push(window.location.origin + '/json/news/' + pagerData['data'][1] + '/news.json'); 305 displayNewsIdArr.push(pagerData['data'][0]); 306 } 307} 308 309function addNews(displayContent) { 310 const ccardlist8__item = makeElm('li', ["c-card-list-8__item"], containerElm, "", "", "", "", "", "", ""); 311 let newsUrl; 312 if (displayContent["externalurl"]) { 313 newsUrl = displayContent["externalurl"]; 314 } else { 315 newsUrl = window.location.origin + displayContent["permalink"]; 316 } 317 let target = ""; 318 if (displayContent["istargetblank"] == "1") { 319 target = "_blank"; 320 } 321 const ccardlist8__itemlink = makeElm('a', ["c-card-list-8__item-link"], ccardlist8__item, "", newsUrl, "", "", "", "", target); 322 const ccardlist8__img = makeElm('figure', ["c-card-list-8__img", "hover-zoom-img"], ccardlist8__itemlink, "", "", "", "", "", "", ""); 323 let thumbnailimageClassArr = []; 324 if (displayContent["newsthumbnailfitcover"] == "1") { 325 thumbnailimageClassArr.push("object-fit-cover"); 326 } 327 if (displayContent["thumbnailposition"] == "ä¸å¯ã") { 328 thumbnailimageClassArr.push("object-position-bottom"); 329 } else if (displayContent["thumbnailposition"] == "ä¸å¯ã") { 330 thumbnailimageClassArr.push("object-position-top"); 331 } 332 let thumbnailimage = window.location.origin + "/assets/img/common/img_default_h.png"; 333 if (displayContent["thumbnailimage"]) { 334 thumbnailimage = displayContent["thumbnailimage"]; 335 } 336 makeElm('img', thumbnailimageClassArr, ccardlist8__img, "", "", thumbnailimage, "", displayContent["label"], "async", ""); 337 const ccardlist8__txtwrap = makeElm('div', ["c-card-list-8__txt-wrap"], ccardlist8__itemlink, "", "", "", "", "", "", ""); 338 makeElm('p', ["c-card-list-8__ttl", "hover-underline-2", "text-line-clamp-3"], ccardlist8__txtwrap, "", "", "", displayContent["label"], "", "", ""); 339 const ccardlist8__sup = makeElm('div', ["c-card-list-8__sup"], ccardlist8__txtwrap, "", "", "", "", "", "", ""); 340 makeElm('span', ["c-card-list-8__date"], ccardlist8__sup, "", "", "", displayContent["publishedon"], "", "", ""); 341 makeElm('span', ["c-card-list-8__category"], ccardlist8__sup, "", "", "", displayContent["category"].join(','), "", "", ""); 342} 343 344function makeElm(tag, classAttributeArr, parent, style, href, src, text, alt, decoding, target) { 345 const elm = document.createElement(tag); 346 if (classAttributeArr.length > 0) { 347 for (let i = 0; i < classAttributeArr.length; i++) { 348 elm.classList.add(classAttributeArr[i]); 349 } 350 } 351 if (style != "") { 352 elm.style = style; 353 } 354 if (href != "") { 355 elm.href = href; 356 } 357 if (src != "") { 358 elm.src = src; 359 } 360 if (text != "") { 361 elm.innerHTML = text; 362 } 363 if (alt != "") { 364 elm.alt = alt; 365 } 366 if (decoding != "") { 367 elm.decoding = decoding; 368 } 369 if (target != "") { 370 elm.target = target; 371 } 372 parent.appendChild(elm); 373 return elm; 374}
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.