diff --git a/lib/webViewInjectjavascript.js b/lib/webViewInjectjavascript.js index 7d1fb71..d917795 100644 --- a/lib/webViewInjectjavascript.js +++ b/lib/webViewInjectjavascript.js @@ -1,32 +1,37 @@ -export const injectJavascriptData = (mapSwitch, iconSetting, stationMenu) => { +export const injectJavascriptData = ( + mapSwitch, + iconSetting, + stationMenu, + trainMenu +) => { + // 一番上のメニュー非表示 地図スイッチによって切り替え const topMenu = mapSwitch != "true" ? ` -document.getElementById('header').querySelector('a').style.display = 'none'; -document.getElementById('header').style.height = '50px'; -document.getElementById('main').style.paddingTop = '54px'; - -document.getElementById('headerStr').style.display = 'none'; -` + document.querySelector('#header a').style.display = 'none'; + document.querySelector('#header').style.height = '50px'; + document.querySelector('#main').style.paddingTop = '54px'; + document.querySelector('#headerStr').style.display = 'none'; + ` : ` -document.getElementsByClassName('accordionClass')[0].style.display = 'none'; -document.getElementById('header').style.display = 'none'; -document.getElementById('main').style.paddingTop = '0px'; -document.getElementById('headerStr').style.display = 'none'; -`; + document.querySelector('.accordionClass').style.display = 'none'; + document.querySelector('#header').style.display = 'none'; + document.querySelector('#main').style.paddingTop = '0px'; + document.querySelector('#headerStr').style.display = 'none'; + `; const bootData = topMenu + ` -const setReload = () =>{ - try{ - document.getElementById('refreshIcon').click(); - setStrings(); - }catch{ + const setReload = () =>{ + try{ + document.getElementById('refreshIcon').click(); + setStrings(); + }catch{ - } - setTimeout(setReload, 10000); -} -setReload(); + } + setTimeout(setReload, 10000); + } + setReload(); `; const trainIconMaker = ` @@ -66,14 +71,14 @@ case "17M": case "25M": case "27M": case "29M": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/b/s8000nr.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/f/s8000nr.png'); break; //8000 アンパン case "10M": case "22M": case "9M": case "21M": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/f/s8000ap.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/f/s8000ap.png'); break; @@ -86,7 +91,7 @@ case "7M": case "11M": case "19M": case "23M": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/b/s8600.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/b/s8600.png'); break; //いしづちメイン @@ -109,7 +114,7 @@ case "1017M": case "1025M": case "1027M": case "1029M": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/f/s8000nr.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/f/s8000nr.png'); break; //8000 アンパン @@ -117,7 +122,7 @@ case "1010M": case "1022M": case "1009M": case "1021M": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/f/s8000ap.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/f/s8000ap.png'); break; //8600 @@ -129,29 +134,29 @@ case "1007M": case "1011M": case "1019M": case "1023M": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/b/s8600_isz.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/b/s8600_isz.png'); break; //MEXP //8000 case "1092M": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/b/s8000nr.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/b/s8000nr.png'); break; //8600 case "1091M": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/b/s8600_isz.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/b/s8600_isz.png'); break; //三桁いしづち //8000 アンパン case "1041M": case "1044M": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/f/s8000ap.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/f/s8000ap.png'); break; //8600 case "1043M": case "1042M": case "1046M": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/b/s8600_isz.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/b/s8600_isz.png'); break; @@ -174,7 +179,7 @@ case "47D": case "51D": case "53D": case "55D": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/b/s2700.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/b/s2700.png'); break; //2700アンパン case "32D": @@ -187,7 +192,7 @@ case "37D": case "45D": case "49D": case "57D": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/f/s2700apr.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/f/s2700apr.png'); break; @@ -217,7 +222,7 @@ case "3025D": case "3027D": case "3031D": case "3033D": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/b/s2700_uzu.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/b/s2700_uzu.png'); break; //2600 @@ -229,13 +234,13 @@ case "3001D": case "3011D": case "3017D": case "3023D": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/b/s2600.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/b/s2600.png'); break; //キハ185 case "3009D": case "3032D": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/b/s185tu_uzu.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/b/s185tu_uzu.png'); break; //マリンライナー @@ -307,14 +312,14 @@ case "3165M": case "3167M": case "3169M": case "3175M": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/b/s5001.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/b/s5001.png'); break; case "3102M": case "3101M": case "3103M": case "3171M": case "3173M": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/b/s5001k.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/b/s5001k.png'); break; //サンライズ瀬戸 @@ -322,7 +327,7 @@ case "5032M": case "5031M": case "8041M": //琴平延長高松迄 case "8031M": //琴平延長高松以降 - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/b/w285.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/b/w285.png'); break; //宇和海 @@ -351,7 +356,7 @@ case "1073D": case "1075D": case "1077D": case "1079D": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/b/s2000_uwa.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/b/s2000_uwa.png'); break; //2000 アンパン込み case "1054D": @@ -362,7 +367,7 @@ case "1055D": case "1061D": case "1067D": case "1081D": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/f/s2002a.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/f/s2002a.png'); break; //しまんと case "2002D": @@ -373,7 +378,7 @@ case "2001D": case "2003D": case "2005D": case "2007D": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/b/s2700_smn.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/b/s2700_smn.png'); break; //あしずり 2000 @@ -387,7 +392,7 @@ case "2075D": case "2077D": case "2081D": case "2083D": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/b/s2000_asi.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/b/s2000_asi.png'); break; //あしずり 2700 @@ -398,7 +403,7 @@ case "2073D": case "2079D": case "2085D": case "2072D": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/b/s2700_asi.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/b/s2700_asi.png'); break; //剣山 case "4002D": @@ -412,19 +417,19 @@ case "4005D": case "4007D": case "4009D": case "4011D": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/b/s185tu.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/b/s185tu.png'); break; //むろと case "5051D": case "5052D": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/b/s185_mrt.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/b/s185_mrt.png'); break; //よしのがわトロッコ case "8452D": case "8451D": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/f/s185to_ai.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/f/s185to_ai.png'); break; //岡山高松アントロ @@ -433,7 +438,7 @@ case "8179D": //岡山琴平アントロ case "8277D": case "8278D": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/f/s32to4.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/f/s32to4.png'); break; //伊予灘ものがたり @@ -441,14 +446,14 @@ case "8091D": case "8093D": case "8092D": case "8094D": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/b/s185iyoy.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/b/s185iyoy.png'); break; //千年ものがたり case "8011D": case "8012D": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/b/s185mm1.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/b/s185mm1.png'); break; //夜明けものがたり @@ -456,7 +461,7 @@ case "8053D": case "8054D": case "8062D": case "8063D": - setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/b/s185ym1.png'); + setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/b/s185ym1.png'); break; default: break; @@ -467,7 +472,7 @@ default: const JRF_icon = iconSetting == "true" ? ` -JRF || setStationIcon(element.getElementsByTagName("img")[0],'http://www.trainfrontview.net/f/ef210a.png'); +JRF || setStationIcon(element.querySelector("img"),'http://www.trainfrontview.net/f/ef210a.png'); ` : ``; const normal_train_name = ` @@ -578,25 +583,30 @@ switch(列番データ){ const textInsert = ` + //列番付与 const setStrings = () =>{ try { -var elements = document.querySelectorAll('[onclick]'); -for (let element of elements) { - if(element.getAttribute('onclick').indexOf('ShowTrainTimeInfo') == -1) continue; - var 行き先情報 = element.getElementsByTagName("p")[0]; - var 列番データ = element.getAttribute('onclick').split('"')[1]; - var flag=false; - var TrainType = undefined; - if(行き先情報.innerText.includes(列番データ))continue; //回避 - ` + + const elements =[]; + document.querySelectorAll('#disp div div div').forEach(d=>{ + if(d.onclick)if(d.onclick.toString().match("ShowTrainTimeInfo")) + elements.push(d) + }); + for (let element of elements) { + var 行き先情報 = element.getElementsByTagName("p")[0]; + var 列番データ = element.getAttribute('onclick').split('"')[1]; + var flag=false; + var TrainType = undefined; + if(行き先情報.innerText.includes(列番データ))continue; //回避 + ` + + //makeTrainMenu + trainIcon + normal_train_name + JRF_name + TKT_name + ` - //列番付与 - 行き先情報.innerText = 行き先情報.innerText+列番データ+(JRF ? "":"レ"); -} + //列番付与 + 行き先情報.innerText = 行き先情報.innerText+列番データ+(JRF ? "":"レ"); + } try{ for(let d of document.getElementById('disp').childNodes){ switch(d.id){ @@ -717,14 +727,15 @@ modal_observer.observe(modal_content, { const makeStationMenu = stationMenu == "true" ? ` + //駅メニューダイアログの配置 const setStationMenuDialog = () =>{ document.querySelector('#pMENU_2').style.display='none'; -document.querySelector('#pMENU_3').style.display='none'; -document.querySelector('#pMENU_2').style.display='none'; -const data =[]; -document.querySelectorAll('#disp div div').forEach(d=>d.id.indexOf("st")!= -1 && data.push(d)); + document.querySelector('#pMENU_3').style.display='none'; + document.querySelector('#pMENU_2').style.display='none'; + const data =[]; + document.querySelectorAll('#disp div div').forEach(d=>d.id.indexOf("st")!= -1 && data.push(d)); -for(let d of data ){ + for(let d of data ){ if(!d.offclick){ d.offclick = d.onclick.toString(); } @@ -734,10 +745,9 @@ for(let d of data ){ } } - const observer3 = new MutationObserver( (mutations) => { -// observer3.disconnect(); // 監視を終了 -setStationMenuDialog(); + // observer3.disconnect(); // 監視を終了 + setStationMenuDialog(); }); // 監視を開始 @@ -751,6 +761,21 @@ observer3.observe(target, { }); ` : ``; + + // const makeTrainMenu = + // //trainMenu == "true" + // true + // ? ` + + // if(!element.offclick){ + // element.offclick = element.onclick.toString(); + // } + // element.onclick = () =>{ + // console.log("hoge") + // window.ReactNativeWebView.postMessage(element.offclick); + // } + // ` + // : ``; return ( bootData + makeTrainView + trainIconMaker + textInsert + makeStationMenu );