From 0ff05f911ce3cb72a9b4945dc8e8f506baa11132 Mon Sep 17 00:00:00 2001 From: harukin-OneMix4 Date: Sat, 1 Jul 2023 11:59:53 +0900 Subject: [PATCH] =?UTF-8?q?=E9=A7=85=E5=90=8D=E6=A8=99=E3=82=92Android?= =?UTF-8?q?=E3=81=A7=E8=A1=A8=E7=A4=BA=E3=81=A7=E3=81=8D=E3=81=AA=E3=81=8F?= =?UTF-8?q?=E3=81=AA=E3=81=A3=E3=81=A6=E3=81=84=E3=81=9F=E5=95=8F=E9=A1=8C?= =?UTF-8?q?=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/webViewInjectjavascript.js | 45 ++++++++++++++++++++++++++++++---- 1 file changed, 40 insertions(+), 5 deletions(-) diff --git a/lib/webViewInjectjavascript.js b/lib/webViewInjectjavascript.js index c3cb817..59dbfc5 100644 --- a/lib/webViewInjectjavascript.js +++ b/lib/webViewInjectjavascript.js @@ -721,11 +721,46 @@ modal_observer.observe(modal_content, { //trainMenu == "true" true ? ` - function ShowTrainTimeInfo(trainNum,limited){ - window.ReactNativeWebView.postMessage(JSON.stringify({type:"ShowTrainTimeInfo",trainNum,limited})); - }; - ` - : ``; + //駅メニューダイアログの配置 +const setStationMenuDialog = () =>{ + const data =[]; + document.querySelectorAll('#disp div div').forEach(d=>d.id.indexOf("st")!= -1 && data.push(d)); + + for(let d of data ){ + if(!d.offclick){ + d.offclick = d.onclick.toString(); + } + d.onclick = () =>{ + //const s = d.offclick.replace('function onclick(event)','').replace('ShowTrainTimeInfo(','').replace(')','').split('(')[1].split(',') + // これの中身抽出ShowTrainTimeInfo("1228M","normal") + const s = d.offclick.replace('(event)','').replaceAll("'", "").split('(')[1].split(')')[0].split(','); + // これの中身抽出 PopUpMenu(event,'2','端岡','http://www.jr-shikoku.co.jp/01_trainbus/jikoku/pdf/hashioka.pdf','https://www.google.co.jp/maps/place/34.305027,133.967643','','1') + window.ReactNativeWebView.postMessage(JSON.stringify({type:"PopUpMenu",event:s[0],id:s[1],name:s[2],pdf:s[3],map:s[4],url:s[5],chk:s[6]})); + } + } +} + +const observer3 = new MutationObserver( (mutations) => { + // observer3.disconnect(); // 監視を終了 + setStationMenuDialog(); +}); + +// 監視を開始 +observer3.observe(target, { + attributes: true, // 属性変化の監視 + //attributeOldValue: true, // 変化前の属性値を matation.oldValue に格納する + //characterData: true, // テキストノードの変化を監視 + //characterDataOldValue: true, // 変化前のテキストを matation.oldValue に格納する + childList: true, // 子ノードの変化を監視 + //subtree: true // 子孫ノードも監視対象に含める +}); +` + : // ` + // function ShowTrainTimeInfo(trainNum,limited){ + // window.ReactNativeWebView.postMessage(JSON.stringify({type:"ShowTrainTimeInfo",trainNum,limited})); + // }; + // ` + ``; return ( bootData + makeTrainView +