0

到目前为止,此代码在 Opera 11.64 中有效。它使第一个 div 成为一个带有绿色文本的红色框,第二个 div 成为一个带有黄色文本的蓝色框。

  <div ID="square">square</div>
  <div ID="rectangle">rectangle</div>

  <script type="text/javascript">
    var i={square:{bgc:"#F00",c:"#0F0"},rectangle:{bgc:"#00F",c:"#FF0"}};
    var c={bgc:"backgroundColor",c:"color"};
    for (x in i){
      if (typeof(i[x]) == "object"){
        for (y in i[x]){
          document.getElementById(x)['style'][c[y]]=i[x][y];
        }
      }
    }
    </script>

我只是想弄清楚这与网络浏览器的兼容性如何。它适用于 IE7 或 netscape 7 吗?

我问是因为我的目标是将花哨的样式从 CSS 格式转换为这种新的 javascript 代码,从而最大限度地减少下载生成相同网页所需的代码。

此时,我有许多 CSS 声明,例如:

#square{background:#000;color:#FFF}
#rectangle{background:#0FF;color:#000}
#somethingelse{background:#F0F;color:#000}

该代码中唯一改变的是值。重复“背景”、“颜色”等词,这意味着每次声明浪费了近 15 个字节。

我觉得通过将我的样式打包成这种格式可以节省数据:

var i={square:{bgc:"#F00",c:"#0F0"},rectangle:{bgc:"#00F",c:"#FF0"}};

所以我的问题是,如果我切换我的样式以便 javascript 可以生成它们而不是将它们完全声明为 CSS 样式表,IE7 和 netscape 7 将无法处理内容吗?我想要一些对每个人都有效的东西,但同时减少不必要的字节数。

请指教。谢谢。

4

0 回答 0