字体大小调整器Javascript在IE8和IE7中不工作

字体大小调整器Javascript在IE8和IE7中不工作,javascript,internet-explorer-8,fonts,resize,internet-explorer-7,Javascript,Internet Explorer 8,Fonts,Resize,Internet Explorer 7,我正试图在我公司的网站上安装一个字体大小调整器,因为我们的很多客户都是老年人,他们不知道Ctrl++ 这是我们的密码。在FF、Chrome和IE9下,重定尺寸器工作良好。但不是在IE8和IE7中。我在这里省略了创建cookies/读取cookies部分 function createCookie(name,value,days) {.....codes for create cookies......} function changeFont(incfont) { try{

我正试图在我公司的网站上安装一个字体大小调整器,因为我们的很多客户都是老年人,他们不知道Ctrl++

这是我们的密码。在FF、Chrome和IE9下,重定尺寸器工作良好。但不是在IE8和IE7中。我在这里省略了创建cookies/读取cookies部分

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);
    }
}
函数createCookie(名称、值、天数){……创建cookie的代码……}
函数更改字体(incfont){
试一试{
var p=document.getElementsByClassName('可调整大小');

for(n=0;n
getComputedStyle
不适用于9之前的IE

见:

此处可能提供修复程序: 我没有测试它


祝你好运!

我觉得你的解决方案太复杂了,我建议你采用不同的方法,为页面正文设置基本文本大小,然后为其余元素设置百分比字体大小,这样当你想调整所有站点的文本大小时,你只需执行以下操作:

$("body").css("font-size", newFontSize);

非常感谢Nelson的回答!你的想法很有道理。作为一名javascript新手,以下问题可能看起来很愚蠢。我可以替换$('body')吗使用TagName或ClassName?因为我们不会更改整个主体区域的字体大小。再次感谢!-YN感谢Elyx0!我不知道getComputedStyle不适用于9之前的IE…将查看您提供的资源。谢谢!-YN