UNPKG

inlineresources

Version:

Inlines style sheets, images, fonts and scripts in HTML documents. Works in the browser.

60 lines (53 loc) 2.18 kB
<!DOCTYPE html> <html> <head> <title>Helper page for bundlePage.js</title> <script type="text/javascript" src="../node_modules/xmlserializer/xmlserializer.js"></script> <script type="text/javascript" src="../build/dependencies/url.js"></script> <script type="text/javascript" src="../node_modules/css-font-face-src/dist/css-font-face-src.js"></script> <script type="text/javascript" src="../dist/inlineresources.js"></script> <script> var loadDocument = function (url) { return new Promise(function (resolve, reject) { var ajaxRequest = new window.XMLHttpRequest(), doReject = function () { reject({message: "Unable to load page"}); }; ajaxRequest.addEventListener("load", function () { if (ajaxRequest.status === 200 || ajaxRequest.status === 0) { resolve(ajaxRequest.responseXML); } else { doReject(); } }, false); ajaxRequest.addEventListener("error", function () { doReject(); }, false); try { ajaxRequest.open('GET', url, true); ajaxRequest.responseType = "document"; ajaxRequest.send(null); } catch (err) { doReject(); } }); }; window.bundlePage = function (url) { return loadDocument(url).then(function (doc) { return inlineresources.inlineReferences(doc, {}).then(function (errors) { errors.forEach(function (error) { console.log(error.msg); }); return xmlserializer.serializeToString(doc); }); }); }; </script> </head> <body> <h1>Helper page for bundlePage.js</h1> <p>Example usage:</p> <pre>node ./examples/bundlePage.js test/fixtures/image.html</pre> <p>Make sure you have run `npm test` beforehand</p> </body> </html>