字体调整器 Javascript 在 IE8 和 IE7 中不起作用



我正在尝试在我公司的网站上放置字体调整器,因为我们的很多客户都是老年人,他们对 Ctrl + "+" 一无所知。

以下是我们拥有的代码。调整器在FF,Chrome和IE9下工作正常。但在IE8和IE7中不是。我在这里省略了创建饼干/读取饼干部分。

function createCookie(name,value,days) {.....codes for create cookies......}
function changeFont(incfont) {
    try{
        var p = document.getElementsByClassName('resizable');
        for(n=0; n<p.length; n++) {
            if(p[n].style.fontSize) {
                var size = parseInt(p[n].style.fontSize.replace("px", ""));
            } else {
                var size = parseInt(window.getComputedStyle(p[n],null).getPropertyValue('font-size').replace("px", ""));
            }
            p[n].style.fontSize = size+ incfont + 'px';
        }
        p = document.getElementsByTagName('p');
        for(n=0; n<p.length; n++) {
            if(p[n].style.fontSize) {
                var size = parseInt(p[n].style.fontSize.replace("px", ""));
            } else {
                var size = parseInt(window.getComputedStyle(p[n],null).getPropertyValue('font-size').replace("px", ""));
            }
            p[n].style.fontSize = size+ incfont + 'px';
        }
    } catch(err) {}
}
function readCookie(name) { ....code for read cookies ....}
function increaseFontSize() {
    var inc=0;
    try {
        var x = readCookie('textsize')
        if (x && x!=0) {
            x = parseInt(x);
            inc = x;
        }
    } catch (e) {}
    if (inc<3) {
        inc++;
        changeFont(1);
        createCookie('textsize',inc,1);
    }
}
function decreaseFontSize() {
    var inc=0;
    try {
        var x = readCookie('textsize')
        if (x && x!=0) {
            x = parseInt(x);
            inc = x;
        }
    } catch (e) {}
    if (inc>0) {
        inc--;
        changeFont(-1);
        createCookie('textsize',inc,1);
    }
}

提前感谢!云

您的解决方案对我来说似乎过于复杂,我建议您采用不同的方法,为页面正文设置基本文本大小,然后为其余元素设置字体大小百分比,这样当您想调整所有网站的文本大小时,您只需要这样做:

$("body").css("font-size", newFontSize);
getComputedStyle不适用于

9 之前的 IE。

看:https://developer.mozilla.org/en-US/docs/DOM/window.getComputedStyle

此处可能提供修复程序:http://snipplr.com/view/13523/我没有测试它,

祝你好运!

最新更新