(function() { var flight_train_map = { "WYW":"WXN","SEQ":"SYX","SHH":"SHA","SNH":"SHA","AOH":"SHA","SXH":"SHA", "DPK":"DOY","ZWJ":"ZHY","ZSQ":"ZGN","ZGQ":"ZGN","LVK":"LYI","UYK":"LYI", "DUT":"DDG","LHM":"LJG","YWH":"YIW","WWT":"HLH","WVC":"WUA","WXC":"WUA", "WMR":"URC","JJG":"JIU","JGG":"JGS","YMR":"YIN","YNR":"YIN","YCB":"LDS", "FSQ":"FUO","JMB":"JMU","KHR":"KRY","LZJ":"LHW","LVJ":"LHW","LAJ":"LHW", "XRZ":"ACX","JGX":"JGD","BTC":"BAV","BDC":"BAV","BJP":"BJS","VAP":"BJS", "BOP":"BJS","VNP":"BJS","BXP":"BJS","BHZ":"BHY","NJH":"NKG","NKH":"NKG", "NCW":"NAO","NNZ":"NNG","NCG":"KHN","NUH":"NTG","NFF":"NNY","BOR":"BPL", "XMS":"XMN","XKS":"XMN","TZH":"HYN","HFH":"HFE","COH":"HFE","JLL":"JIL", "HHC":"HET","NDC":"HET","VTR":"HTN","HMR":"HMI","HLR":"HMI","HBB":"HRB", "VBB":"HRB","VAB":"HRB","TSP":"TVS","FUP":"TVS","KSR":"KHG","JGJ":"JGN", "GUJ":"GYU","DTV":"DAT","DZX":"DQA","DKM":"DLU","DLT":"DLC","DFT":"DLC", "TSJ":"THQ","TBP":"TSN","TJP":"TSN","TIP":"TSN","TXP":"TSN","TYV":"TYN", "TBV":"TYN","TDV":"TYN","WKK":"WEH","NVH":"NGB","AQH":"AQG","APH":"AQG", "AKY":"AKA","ASW":"AVA","YBW":"YBP","YCN":"YIH","HAN":"YIH","CZH":"CZX", "ESH":"CZX","VGQ":"CGD","GYW":"GYS","GBQ":"CAN","GGQ":"CAN","GZQ":"CAN", "IZQ":"CAN","GHW":"GHN","KLR":"KRL","KCR":"KCA","YJL":"YNJ","YWY":"ENY", "DIQ":"DYG","ZYJ":"YZY","XCH":"XUZ","UUH":"XUZ","ESN":"ENH","ICW":"CTU", "CNW":"CTU","CDW":"CTU","YLH":"YTY","LSO":"LXA","JRQ":"SWA","PRW":"PZI", "DHJ":"DNH","WXH":"WUX","WGH":"WUX","IFH":"WUX","KMM":"KMG","KXM":"KMG", "ZDW":"ZAT","JCG":"JDZ","CYD":"CHG","HGH":"HGH","HZH":"HGH","XHH":"HGH", "LXC":"LXI","LZZ":"LZH","GRO":"GOQ","GBZ":"KWL","GLZ":"KWL","TCH":"580", "UQW":"LIA","WZZ":"WUZ","ALY":"UYN","WAS":"WUS","WHN":"WUH","AOQ":"LLF", "HOY":"HZG","SYT":"SHE","SBT":"SHE","SDT":"SHE","QRS":"JJN","QYS":"JJN", "LYF":"LYA","LDF":"LYA","JNK":"TNA","JAK":"TNA","JGK":"TNA","JIK":"JNG", "HMQ":"HAK","VUQ":"HAK","HRX":"HLD","AUH":"HIA","AMH":"HIA","SZQ":"SZX", "OSQ":"SZX","BJQ":"SZX","IOQ":"SZX","RZH":"WNZ","VRH":"WNZ","ZJZ":"ZHA", "ZWQ":"ZHA","MLX":"NZH","MVX":"OHE","WFK":"WEF","YAK":"YNT","MDB":"MDG", "ZHQ":"ZUH","ZIQ":"ZUH","BIZ":"AEB","AFH":"YNZ","VVP":"SJW","SJP":"SJW", "FZS":"FOC","FYS":"FOC","QTP":"SHP","MYW":"MIG","SZH":"SZV","OHH":"SZV", "KAH":"SZV","ITH":"SZV","QEH":"JUZ","XFN":"XFN","XWN":"XFN","XXO":"XNN", "EAY":"SIA","XAY":"SIA","CAY":"SIA","XXO":"SIA","ECW":"XIC","ENW":"XIC", "GIW":"KWE","GZG":"KOW","CFD":"CIF","CID":"CIF","RXW":"DAX","YNV":"YCU", "UIH":"LYG","UKH":"LYG","TLD":"TGO","ZIW":"ZYI","HDP":"HDG","HPP":"HDG", "ZZF":"CGO","ZAF":"CGO","CUW":"CKG","CQW":"CKG","CRW":"CKG","JCJ":"JIC", "RDQ":"TEN","YIJ":"INC","XTC":"XIL","JZD":"JNZ","JOD":"JNZ","CCT":"CGQ", "CET":"CGQ","CRT":"CGQ","CSQ":"CSX","CWQ":"CSX","CBF":"CIH","CZF":"CIH", "FYH":"FUG","ASR":"AKU","ART":"YIE","QDK":"TAO","AST":"AOG","AXT":"AOG", "JXB":"JXA","HKH":"TXN","HJB":"HEK","QNW":"JIQ","QHX":"NDG" }; var flight_train_styleHtml = [ //'' ]; var flight_train_scriptHtml = [ //'' ]; //top负责显示/隐藏膏药 if (top === window) { chrome.extension.onRequest.addListener(function (request, sender, sendResponse) { if (request.ticketEvent == 'flightHide') { document.getElementsByClassName("_bb_flight_container")[0].style.display = "none"; return ; } if (request.ticketEvent != 'flightShow') { return ; } if (!request.query || !request.data || request.data.length == 0) { return ; } var flight_train_tip = [ '
', '
', '
没抢到火车票?
', '
×
', '
', '
', '
快来看看特价机票
', '
' + request.query.from + '' + request.query.to + '
', '
', ''); var flight_train_container; if (!document.getElementsByClassName('_bb_flight_container').length) { var flight_train_style = document.createElement('style'); flight_train_style.innerHTML = flight_train_styleHtml.join("\n"); document.body.appendChild(flight_train_style); var flight_train_script = document.createElement('script'); flight_train_script.type = 'text/javascript'; flight_train_script.innerHTML = flight_train_scriptHtml.join("\n").replace(/####version####/, request.version); document.body.appendChild(flight_train_script); flight_train_container = document.createElement('div'); flight_train_container.className = '_bb_flight_container'; document.body.appendChild(flight_train_container); } else { flight_train_container = document.getElementsByClassName('_bb_flight_container')[0]; flight_train_container.style.display = 'block'; } flight_train_container.innerHTML = flight_train_tip.join("\n"); flight_train_container.style.position = 'absolute'; //计算膏药相对于整个页面的位置 var trainIframe = document.getElementById('iframepage'); if (trainIframe !== null) { //在框架中订票 flight_train_container.style.top = (trainIframe.offsetTop + request.context.positionOffset.y ) + 'px'; flight_train_container.style.left = Math.max(trainIframe.offsetLeft + request.context.positionOffset.x - 171, 0) + 'px'; window.onresize = function() { flight_train_container.style.left = Math.max(trainIframe.offsetLeft + request.context.positionOffset.x - 171, 0) + 'px'; }; } else { //全屏订票 flight_train_container.style.top = flight_train_main.offsetTop + 'px'; flight_train_container.style.left = Math.max(flight_train_main.offsetLeft - 171, 0) + 'px'; window.onresize = function() { flight_train_container.style.left = Math.max(flight_train_main.offsetLeft - 171, 0) + 'px'; }; } sendResponse({status: true}); }); } //主界面(不管是在iframe里还是顶级)负责查询信息反馈 var flight_train_main = document.getElementById('main'); if (flight_train_main && flight_train_main.contentWindow) { chrome.extension.onRequest.addListener(function (request, sender, sendResponse) { if (request.ticketEvent != 'get12306Query') { return ; } var flight_train_document = flight_train_main.contentWindow.document, flight_train_fromInput = flight_train_document.getElementById('fromStation'), flight_train_toInput = flight_train_document.getElementById('toStation'), flight_train_dateInput = flight_train_document.getElementById('startdatepicker'); if (!flight_train_document || !flight_train_fromInput || !flight_train_toInput || !flight_train_dateInput) { return ; } var flight_train_from = flight_train_fromInput.value, flight_train_to = flight_train_toInput.value, flight_train_date = flight_train_dateInput.value; if (!flight_train_from || !flight_train_to || !flight_train_date) { return ; } if (!flight_train_map[flight_train_from] || !flight_train_map[flight_train_to]) { return ; } var flight_train_timestamp = Date.parse(flight_train_date); sendResponse({ shortFrom: flight_train_map[flight_train_from], shortTo: flight_train_map[flight_train_to], date: flight_train_timestamp < Date.now() ? //今天 [flight_train_timestamp, flight_train_timestamp + 172800000] : [flight_train_timestamp - 86400000, flight_train_timestamp + 86400000], context: { trainTimestamp: flight_train_timestamp, positionOffset: {x: flight_train_main.offsetLeft, y: flight_train_main.offsetTop} } }); }); } })();