主题: 付费请人在3.X版本上增加4.0的模版和谷歌地图功能 |
作者: aaron, 发布日期: 2011-09-19 17:04:43, 浏览数: 3031 |
我目前使用的是3.5.4 在plugins下,提取template和map出来,加入到kindeditor.js不能用,本人不是很懂js,这两个功能对我站有用。 css不用你管,这人改好了,就差kindeditor.js跟template.js、map.js 有偿~~~~
本来打算用4.0的,在一个页面不能加载两个编辑器,没办法。老版也用习惯了。 有能力的Q我 |
作者: aaron, 发布日期: 2011-09-19 17:05:33 |
10元有人接吗?
|
回复 |
作者: aaron, 发布日期: 2011-09-19 17:10:02 |
以下是4.0的map.js KindEditor.plugin('map', function(K) { var self = this, name = 'map', lang = self.lang(name + '.'); self.clickToolbar(name, function() { var html = ['<div style="padding:10px 20px;">', '<div class="ke-dialog-row">', lang.address + ' <input id="kindeditor_plugin_map_address" name="address" class="ke-input-text" value="" style="width:200px;" /> ', '<span class="ke-button-common ke-button-outer">', '<input type="button" name="searchBtn" class="ke-button-common ke-button" value="' + lang.search + '" />', '</span>', '</div>', '<div class="ke-map" style="width:558px;height:360px;"></div>', '</div>'].join(''); var dialog = self.createDialog({ name : name, width : 600, title : self.lang(name), body : html, yesBtn : { name : self.lang('yes'), click : function(e) { var geocoder = win.geocoder, map = win.map, center = map.getCenter().lat() + ',' + map.getCenter().lng(), zoom = map.getZoom(), maptype = map.getMapTypeId(), url = 'http://maps.googleapis.com/maps/api/staticmap'; url += '?center=' + encodeURIComponent(center); url += '&zoom=' + encodeURIComponent(zoom); url += '&size=558x360'; url += '&maptype=' + encodeURIComponent(maptype); url += '&markers=' + encodeURIComponent(center); url += '&language=' + self.langType; url += '&sensor=false'; self.exec('insertimage', url).hideDialog().focus(); } }, beforeRemove : function() { searchBtn.remove(); doc.write(''); iframe.remove(); } }); var div = dialog.div, addressBox = K('[name="address"]', div), searchBtn = K('[name="searchBtn"]', div), win, doc; var iframeHtml = ['<!doctype html><html><head>', '<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />', '<style>', ' html { height: 100% }', ' body { height: 100%; margin: 0; padding: 0; background-color: #FFF }', ' #map_canvas { height: 100% }', '</style>', '<script src="http://maps.googleapis.com/maps/api/js?sensor=false&language=' + self.langType + '"></script>', '<script>', 'var map, geocoder;', 'function initialize() {', ' var latlng = new google.maps.LatLng(31.230393, 121.473704);', ' var options = {', ' zoom: 11,', ' center: latlng,', ' disableDefaultUI: true,', ' panControl: true,', ' zoomControl: true,', ' mapTypeControl: true,', ' scaleControl: true,', ' streetViewControl: false,', ' overviewMapControl: true,', ' mapTypeId: google.maps.MapTypeId.ROADMAP', ' };', ' map = new google.maps.Map(document.getElementById("map_canvas"), options);', ' geocoder = new google.maps.Geocoder();', ' geocoder.geocode({latLng: latlng}, function(results, status) {', ' if (status == google.maps.GeocoderStatus.OK) {', ' if (results[3]) {', ' parent.document.getElementById("kindeditor_plugin_map_address").value = results[3].formatted_address;', ' }', ' }', ' });', '}', 'function search(address) {', ' if (!map) return;', ' geocoder.geocode({address : address}, function(results, status) {', ' if (status == google.maps.GeocoderStatus.OK) {', ' map.setZoom(11);', ' map.setCenter(results[0].geometry.location);', ' var marker = new google.maps.Marker({', ' map: map,', ' position: results[0].geometry.location', ' });', ' } else {', ' alert("Invalid address: " + address);', ' }', ' });', '}', '</script>', '</head>', '<body onload="initialize();">', '<div id="map_canvas" style="width:100%; height:100%"></div>', '</body></html>'].join('\n'); // TODO:用doc.write(iframeHtml)方式加载时,在IE6上第一次加载报错,暂时使用src方式 var iframe = K('<iframe class="ke-textarea" frameborder="0" src="' + self.pluginsPath + 'map/map.html" style="width:558px;height:360px;"></iframe>'); function ready() { win = iframe[0].contentWindow; doc = K.iframeDoc(iframe); //doc.open(); //doc.write(iframeHtml); //doc.close(); } iframe.bind('load', function() { iframe.unbind('load'); if (K.IE) { ready(); } else { setTimeout(ready, 0); } }); K('.ke-map', div).replaceWith(iframe); // search map searchBtn.click(function() { win.search(addressBox.val()); }); }); });
|
回复 |
作者: aaron, 发布日期: 2011-09-19 17:11:20 |
以下为4.0中的模版template.js KindEditor.plugin('template', function(K) { var self = this, name = 'template', lang = self.lang(name + '.'), htmlPath = self.pluginsPath + name + '/html/'; function getFilePath(fileName) { return htmlPath + fileName + '?ver=' + encodeURIComponent(K.DEBUG ? K.TIME : K.VERSION); } self.clickToolbar(name, function() { var lang = self.lang(name + '.'), arr = ['<div class="ke-plugin-template" style="padding:10px 20px;">', '<div class="ke-header">', // left start '<div class="ke-left">', lang. selectTemplate + ' <select>']; K.each(lang.fileList, function(key, val) { arr.push('<option value="' + key + '">' + val + '</option>'); }); html = [arr.join(''), '</select></div>', // right start '<div class="ke-right">', '<input type="checkbox" id="keReplaceFlag" name="replaceFlag" value="1" /> <label for="keReplaceFlag">' + lang.replaceContent + '</label>', '</div>', '<div class="ke-clearfix"></div>', '</div>', '<iframe class="ke-textarea" frameborder="0" style="width:458px;height:260px;background-color:#FFF;"></iframe>', '</div>'].join(''); var dialog = self.createDialog({ name : name, width : 500, title : self.lang(name), body : html, yesBtn : { name : self.lang('yes'), click : function(e) { var doc = K.iframeDoc(iframe); self[checkbox[0].checked ? 'html' : 'insertHtml'](doc.body.innerHTML).hideDialog().focus(); } } }); var selectBox = K('select', dialog.div), checkbox = K('[name="replaceFlag"]', dialog.div), iframe = K('iframe', dialog.div); checkbox[0].checked = true; iframe.attr('src', getFilePath(selectBox.val())); selectBox.change(function() { iframe.attr('src', getFilePath(this.value)); }); }); });
|
回复 |
作者: aaron, 发布日期: 2011-09-19 17:14:01 |
能搞定价格好说!
|
回复 |
作者: 小浪子, 发布日期: 2011-09-19 22:15:36 |
回复aaron:白痴才会接。当程序员是白菜啊。。10RMB。。哪里赚不到。。
看200有没有人接还出了鬼。。估计也得300才有人接。。 |
回复 |
作者: shirne, 发布日期: 2011-09-21 12:06:15 |
怎么都讲4.0不能加载多个编辑器? 我用着好像没问题... |
回复 |