Skip to content

Allow disabling the processing of CSS #2005

Description

@cawa-93

Basic info:

  • Node.js version: v8.2.1
  • jsdom version: ^11.2.0

Minimal reproduction case

If I try parse html contain

<style type="text/css">
@import url("/css/blok_add.css");
</style>

I get the following error:

Error: Could not parse CSS @import URL /css/blok_add.css relative to base URL "about:blank"
    at scanForImportRules (D:\Develop\parser\node_modules\jsdom\lib\jsdom\living\helpers\stylesheets.js:68:25)
    at exports.evaluateStylesheet (D:\Develop\parser\node_modules\jsdom\lib\jsdom\living\helpers\stylesheets.js:33:3)
    at HTMLStyleElementImpl._attach (D:\Develop\parser\node_modules\jsdom\lib\jsdom\living\nodes\HTMLStyleElement-impl.js:23:5)
    at HTMLTableDataCellElementImpl._attach (D:\Develop\parser\node_modules\jsdom\lib\jsdom\living\nodes\Node-impl.js:281:15)
    at HTMLTableDataCellElementImpl._attach (D:\Develop\parser\node_modules\jsdom\lib\jsdom\living\nodes\Element-impl.js:93:11)
    at HTMLTableRowElementImpl._attach (D:\Develop\parser\node_modules\jsdom\lib\jsdom\living\nodes\Node-impl.js:281:15)
    at HTMLTableRowElementImpl._attach (D:\Develop\parser\node_modules\jsdom\lib\jsdom\living\nodes\Element-impl.js:93:11)
    at HTMLTableSectionElementImpl._attach (D:\Develop\parser\node_modules\jsdom\lib\jsdom\living\nodes\Node-impl.js:281:15)
    at HTMLTableSectionElementImpl._attach (D:\Develop\parser\node_modules\jsdom\lib\jsdom\living\nodes\Element-impl.js:93:11)
    at HTMLTableElementImpl._attach (D:\Develop\parser\node_modules\jsdom\lib\jsdom\living\nodes\Node-impl.js:281:15)
    at HTMLTableElementImpl._attach (D:\Develop\parser\node_modules\jsdom\lib\jsdom\living\nodes\Element-impl.js:93:11)
    at HTMLDivElementImpl._attach (D:\Develop\parser\node_modules\jsdom\lib\jsdom\living\nodes\Node-impl.js:281:15)
    at HTMLDivElementImpl._attach (D:\Develop\parser\node_modules\jsdom\lib\jsdom\living\nodes\Element-impl.js:93:11)
    at HTMLTableDataCellElementImpl._attach (D:\Develop\parser\node_modules\jsdom\lib\jsdom\living\nodes\Node-impl.js:281:15)
    at HTMLTableDataCellElementImpl._attach (D:\Develop\parser\node_modules\jsdom\lib\jsdom\living\nodes\Element-impl.js:93:11)
    at HTMLTableRowElementImpl._attach (D:\Develop\parser\node_modules\jsdom\lib\jsdom\living\nodes\Node-impl.js:281:15)
    at HTMLTableRowElementImpl._attach (D:\Develop\parser\node_modules\jsdom\lib\jsdom\living\nodes\Element-impl.js:93:11)
    at HTMLTableSectionElementImpl._attach (D:\Develop\parser\node_modules\jsdom\lib\jsdom\living\nodes\Node-impl.js:281:15)
    at HTMLTableSectionElementImpl._attach (D:\Develop\parser\node_modules\jsdom\lib\jsdom\living\nodes\Element-impl.js:93:11)
    at HTMLTableElementImpl._attach (D:\Develop\parser\node_modules\jsdom\lib\jsdom\living\nodes\Node-impl.js:281:15)
    at HTMLTableElementImpl._attach (D:\Develop\parser\node_modules\jsdom\lib\jsdom\living\nodes\Element-impl.js:93:11)
    at HTMLDivElementImpl._attach (D:\Develop\parser\node_modules\jsdom\lib\jsdom\living\nodes\Node-impl.js:281:15)

The problem can be solved by specifying the parameter url.

new JSDOM(html, {url: 'http://example.com'})

However, I'm wondering if it's possible to completely disable the processing of CSS?

Metadata

Metadata

Assignees

No one assigned

    Labels

    apiAn issue with the JSDOM API, instead of the web platformcssmetr upliftA candidate for the METR Uplift experiment

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions