热更新demo

mainTemplate.html 11KB

    <!DOCTYPE html> <html> <head> <style type="text/css"> .titleStyle{ font-size:20px; color:#2d2d32; padding-left:5px; padding-right:5px; } .authorAndTimeStyle{ font-size:11px; color:#555555; padding-left:5px; padding-right:5px; } .contentStyle{ font-size:15px; color:#2d2d32; padding-left:5px; padding-right:5px; text-align:justify; text-justify:inter-ideograph; } .strongTextStyle{ font-size:15px; color:#2d2d32; padding-bottom:5px; text-align:justify; text-justify:inter-ideograph; } .imageTextStyle{ font-size:15px; color:#929292; padding-bottom:5px; text-align:justify; text-justify:inter-ideograph; } .imgStyle{ } .tableStyle{ border:3px solid #0F0; padding-left:5px; padding-right:5px; height:125px; } .divcss5-x5{ padding-bottom:2.5px; border-bottom:0.5px solid #000} .divcss5-x2{ padding-bottom:1px; border-bottom:0.5px solid #000} .bodyStyle { background-color:#F6F6F6; } </style> </head> <body class="bodyStyle"> <script> function connectWebViewJavascriptBridge(callback) { if (window.WebViewJavascriptBridge) { callback(WebViewJavascriptBridge) } else { document.addEventListener('WebViewJavascriptBridgeReady', function() { callback(WebViewJavascriptBridge) }, false) } } //图片点击回调 function imageClick(message) { window.WebViewJavascriptBridge.callHandler('testObjcCallback', message+"_imageClick", function(message) { }); } //图片点击回调 function videoClick(message) { window.WebViewJavascriptBridge.callHandler('testObjcCallback', message+"_videoClick", function(message) { }); } //强相关新闻回调 function strongRelateClick(message) { window.WebViewJavascriptBridge.callHandler('testObjcCallback', message+"_strongRelateClick", function(message) { }); } connectWebViewJavascriptBridge(function(bridge) { /* Init your app here */ // 从OC bridge.send 方法过来的 就会调用到这个方法 bridge.init(function(message, responseCallback) { //alert('Received message: ' + message) if (message.match("replaceimage")) { //先截取图片id var index=message.indexOf(",") var messagereplace=message.substring(0,index) //截取到本地图片的路径 var messagepath=message.substring(index+1) messagereplace=messagereplace.replace(/replaceimage/,"") element=document.getElementById(messagereplace) if (element.src.match("loading")) { element.src = messagepath } } //图片打底图消失逻辑 if (message.match("disappearCenterImg")) { var index=message.indexOf(",") var messagereplace=message.substring(0,index) //截取到本地图片的路径 var messagepath=message.substring(index+1) messagereplace=messagereplace.replace(/disappearCenterImg/,"") messagereplace = messagereplace+"_center" element=document.getElementById(messagereplace) if (element.src.match("imageBack@2x.png")) { element.width = 0 element.height = 0 } } //改变字体大小 if (message.match("changeFontSize")) { var index=message.indexOf(",") var messageFontSize=message.substring(index+1) var sheets = document.styleSheets[0] var content = sheets.rules[2] //alert(String(content.style.fontSize)) content.style.fontSize = messageFontSize } //夜间模式 if (message.match("switchNightMode")) { var index=message.indexOf(",") var messageNightMode=message.substring(index+1) var sheets = document.styleSheets[0] var bodyStyleCss = sheets.rules[9] var titleStyleCss = sheets.rules[0] var authorAndTimeStyleCss = sheets.rules[1] var contentStyleCss = sheets.rules[2] var strongTextStyleCss = sheets.rules[3] var imageTextStyleCss = sheets.rules[4] if (messageNightMode.match("1")) { bodyStyleCss.style.background = "#222222" titleStyleCss.style.color = "#999999" authorAndTimeStyleCss.style.color = "#777777" contentStyleCss.style.color = "#999999" strongTextStyleCss.style.color = "#999999" imageTextStyleCss.style.color = "#777777" }else { bodyStyleCss.style.background = "#F6F6F6" titleStyleCss.style.color = "#2d2d32" authorAndTimeStyleCss.style.color = "#555555" contentStyleCss.style.color = "#2d2d32" strongTextStyleCss.style.color = "#2d2d32" imageTextStyleCss.style.color = "#929292" } } if (responseCallback) { responseCallback("send Right back atcha") } }) // 从oc通过Handler发送过来的就会调用这个函数 bridge.registerHandler('testJavascriptHandler', function(data, responseCallback) { var responseData = { 'Javascript Says':'Right back atcha!' } alert('Received message: ' + data) if (responseCallback) { responseCallback(responseData) } }) // TODO: 想做点什么在这边(connectWebViewJavascriptBridge函数里面) //send var button1 = document.getElementById('button1') button1.onclick = function() { var data = 'Hello from JS button' bridge.send(data, function(responseData) { }) } // call handler var button2 = document.getElementById('button2') button2.onclick = function() { // 注意标示要一致 bridge.callHandler('testObjcCallback', {'foo': 'bar'}, function(response) { }) } }) </script> {{mainNews}} </body> </html>