代码之家  ›  专栏  ›  技术社区  ›  Steve

是否可以加载应用于node.js中的DOM的CSS样式表?

  •  0
  • Steve  · 技术社区  · 15 年前

    这是我目前正在努力做的事情的一小部分:

    var sys     = require("sys"),
        request = require("request"),
        $       = require("jquery"),
        uri     = 'http://' + process.argv[2];
    
    request({uri:uri}, function (error, response, context) {
      if (!error && response.statusCode == 200) {
        console.log($('body', context).css('background'));
      }
    })
    

    显然,这只是返回未定义的;是否有方法应用链接元素中定义的样式表,以便我可以使用jQuery查询它们?

    2 回复  |  直到 15 年前
        1
  •  3
  •   Ivo Wetzel    15 年前

    已经很尖锐了 指出 这决不是小事。

    你需要:

    1. 分析CSS
    2. 将规则应用于DOM
    3. 根据规则计算当前样式

    基本上你需要一个没有实际绘图的浏览器渲染引擎 很多 对于JavaScript中的代码(50k LOC+,如果幸运的话),您需要实现所有CSS版本,检查文档类型等。

    现在,最好的办法是从WebKit中获取这些内容,并将其绑定到一个节点C扩展的V8。一份相当大的工作,所以除非你愿意自己动手,否则我猜你运气不好。

    绑定这些东西将需要相当多的努力,但它仍然需要更少的时间,然后从头开始用JS编写整个东西(这将非常缓慢,即使当前JavaScript性能有所提高)。

        2
  •  0
  •   Steve    14 年前

    虽然不是Node.js,但现在看来可以通过 PhantomJS .