HTML运行到浏览器自动刷新,【报Bug】html 在内置web浏览器预览时,自动刷新

下面代码在Chrome 和 IE 下没有问题

11111221312

var isSupportFontFamily = function(f) {

// f是要检测的字体

if (typeof f != "string") {

return false

}

// h是基础字体

var h = "Arial";

if (f.toLowerCase() == h.toLowerCase()) {

return true

}

// 设置一个检测的字符A,看他是否支持f字体

var e = "a";

var d = 100;

var a = 100,

i = 100;

var c = document.createElement("canvas");

var b = c.getContext("2d");

c.width = a;

c.height = i;

b.textAlign = "center";

b.fillStyle = "black";

b.textBaseline = "middle";

var g = function(j) {

b.clearRect(0, 0, a, i);

// 字体是传入的j,或者是默认的h

b.font = d + "px " + j + ", " + h;

b.fillText(e, a / 2, i / 2);

// 获取所有的canvas图片信息

var k = b.getImageData(0, 0, a, i).data;

// k调用数组的 filter方法,筛选符合条件的。改变原数组。

return [].slice.call(k).filter(function(l) {

return l != 0

});

};

// 返回结果,如果h默认字体和输入待检测字体f.通过g函数检测得到的字符串不一致,说明自提生效

return g(h).join("") !== g(f).join("");

};

var dataFont = {

windows: [{

ch: '宋体',

en: 'SimSun'

}, {

ch: '黑体',

en: 'SimHei'

}, {

ch: '微软雅黑',

en: 'Microsoft Yahei'

}, {

ch: '微软正黑体',

en: 'Microsoft JhengHei'

}, {

ch: '楷体',

en: 'KaiTi'

}, {

ch: '新宋体',

en: 'NSimSun'

}, {

ch: '仿宋',

en: 'FangSong'

}],

'OS X': [{

ch: '苹方',

en: 'PingFang SC'

}, {

ch: '华文黑体',

en: 'STHeiti'

}, {

ch: '华文楷体',

en: 'STKaiti'

}, {

ch: '华文宋体',

en: 'STSong'

}, {

ch: '华文仿宋',

en: 'STFangsong'

}, {

ch: '华文中宋',

en: 'STZhongsong'

}, {

ch: '华文琥珀',

en: 'STHupo'

}, {

ch: '华文新魏',

en: 'STXinwei'

}, {

ch: '华文隶书',

en: 'STLiti'

}, {

ch: '华文行楷',

en: 'STXingkai'

}, {

ch: '冬青黑体简',

en: 'Hiragino Sans GB'

}, {

ch: '兰亭黑-简',

en: 'Lantinghei SC'

}, {

ch: '翩翩体-简',

en: 'Hanzipen SC'

}, {

ch: '手札体-简',

en: 'Hannotate SC'

}, {

ch: '宋体-简',

en: 'Songti SC'

}, {

ch: '娃娃体-简',

en: 'Wawati SC'

}, {

ch: '魏碑-简',

en: 'Weibei SC'

}, {

ch: '行楷-简',

en: 'Xingkai SC'

}, {

ch: '雅痞-简',

en: 'Yapi SC'

}, {

ch: '圆体-简',

en: 'Yuanti SC'

}],

};

// 系统默认字体

var rootFontFamily = (document.documentElement.currentStyle ? document.documentElement.currentStyle : window.getComputedStyle(

document.documentElement)).fontFamily;

var eleTables = document.getElementsByTagName('table');

var lenTables = eleTables.length;

for (var index = 0; index < lenTables; index++) {

var typeFont = eleTables[index].getAttribute('data-type');

var arrDataFont = dataFont[typeFont];

if (arrDataFont && arrDataFont.length) {

var html = '';

for (var start = 0; start < arrDataFont.length; start++) {

var name = typeFont + start;

var fontEn = arrDataFont[start].en,

fontCh = arrDataFont[start].ch;

if (!isSupportFontFamily(fontEn)) {

continue;

}

// 是否标记为默认字体的处理

var htmlFontEn = fontEn,

htmlFontCh = fontCh;

if (fontEn.toLowerCase() === rootFontFamily.toLowerCase()) {

htmlFontEn += '(浏览器默认)';

} else if (fontCh.toLowerCase() === rootFontFamily.toLowerCase()) {

htmlFontCh += '(浏览器默认)';

}

html = html + '

' + htmlFontCh + '' + htmlFontEn +

'

' +

'

';

}

eleTables[index].getElementsByTagName('tbody')[0].innerHTML = html;

}

};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值