function Text_canvas() {
}
Text_canvas.prototype.createCanvas = function (obj) {
if (!obj.creaClass) {
console.error('未输入要替换的元素类名')
return false;
}
var canvas_t = document.createElement('canvas');
canvas_t.className = obj.creaClass ? obj.creaClass.replace('.', '') : '';
canvas_t.style.display = 'inline-block';
canvas_t.style.position = 'relative';
canvas_t.style.top = '5px';
canvas_t.setAttribute('width', (obj.can_w ? parseInt(obj.can_w) : 100)+30);
canvas_t.setAttribute('height', (obj.can_h ? parseInt(obj.can_h) : 100));
var ctx = canvas_t.getContext("2d");
if(obj.bold){
ctx.font = obj.bold +' '+ (obj.can_text_font ? obj.can_text_font : '14px') + '/' + (obj.can_text_font ? obj.can_text_font : '14px') + " 微软雅黑";
}else{
ctx.font = 'bold ' + (obj.can_text_font ? obj.can_text_font : '14px') + '/' + (obj.can_text_font ? obj.can_text_font : '14px') + " 微软雅黑";
}
if(obj.textColor){
ctx.fillStyle = obj.textColor;
}else{
ctx.fillStyle = 'rgb(192, 0, 0)';
}
if (!obj.can_text) {
console.error('未输入canvas的内容')
return false;
}
ctx.fillText(obj.can_text, 0, (obj.can_text_font ? parseInt(obj.can_text_font) : 14));
return canvas_t;
}
Text_canvas.prototype.replaceEle = function (obj) {
var ts = document.querySelector(obj.creaClass);
if (obj.can_text && ts) {
ts.innerText = obj.can_text;
var leng = document.querySelectorAll(obj.creaClass).length;
var demo = window.getComputedStyle(ts, null);
if (!obj.can_w) {
obj.can_w = ts.offsetWidth;
}
if (!obj.can_h) {
obj.can_h = ts.offsetHeight;
}
if (!obj.can_text_font) {
obj.can_text_font = demo['font-size'] || ts.currentStyle['font-size'];
}
obj.can_color = demo['color'] || ts.currentStyle['color'];
for (var can_smile = 0; can_smile < leng; can_smile++) {
var canvs = this.createCanvas(obj);
var oldNo = document.querySelectorAll(obj.creaClass)[can_smile];
oldNo.parentNode.replaceChild(canvs, oldNo);
}
}
}
window.afterGetWechatNumbers = function (data) {
//替换信息 div标识、占位符、替换内容标识
function replace_content(div, replace_str) {
var replace_content = content = $(div).html();
var replace_info = data[replace_str];
var wechat_number;
if (replace_info) {
for (var placeholder in replace_info) {
// replace_content = replace_content.replace(new RegExp(placeholder,'g'), "");
wechat_number = replace_info[placeholder];
}
// if(replace_content && content != replace_content){
$(div).html(replace_content);
//微信号画布化
var obj = {
can_text: wechat_number,
creaClass: '.smile',
can_h: 20
};
var s = new Text_canvas();
s.replaceEle(obj);
localStorage.setItem('v_article', wechat_number);
// }
}
}
replace_content('#article_content', 'content');
$('.smile').click(function () {
location.href = "/testing/page/cou_in"
})
}
window.afterGetPage = function (data, selDiv, style) {
//替换信息 div标识、占位符、替换内容标识
function replace_content(div, replace_str) {
var replace_info = data[replace_str];
var wechat_number;
if (replace_info) {
for (var placeholder in replace_info) {
// replace_content = replace_content.replace(new RegExp(placeholder,'g'), "");
wechat_number = replace_info[placeholder];
}
// if(replace_content && content != replace_content){
//微信号画布化
var obj = {
can_text: wechat_number,
creaClass: div,
can_h: 20,
textColor: 'rgb(255,255,255)',
bold: 'normal'
};
if(style && style.textColor){
obj.textColor = style.textColor;
}
var s = new Text_canvas();
s.replaceEle(obj);
// }
}
}
replace_content(selDiv, 'content');
}