有没有办法用JavaScript强制HTML格式的硬编码样式?

时间:2015-06-26 17:30:03

标签: javascript jquery python html css

我知道这听起来与我们在响应式网络上尝试实现的完全相反,但是,我有一个python脚本,弹出一个github风味的HTML表单,我想导出文章标签以及它所有渲染的样式,所以我可以像在另一个页面上的基于HTML的截图一样发布它(我的计算机科学课讨论论坛用于这个例子)。

目前我正在通过chrome的开发人员工具手动转换样式,但我希望采用自动方式应用所有样式来对元素进行硬编码,这样我的样式就不会泄漏到网页的其余部分而且我是能够呈现一个显示自身以及图像的实体HTML。

我尝试创建一个嵌套的for循环,将所有应用的样式应用于元素,但由于标记类型不同,该实现中存在大量错误。

如果有一种简单的方法可以做到这一点,我很想知道它。即使它是一个Web服务,我必须粘贴我的html以获得硬编码的结果。

我喜欢能够准备我的回答,我喜欢GitHub调味品的造型。我真的很想将它保存在HTML中,而不是在任何地方发布屏幕截图。

最后一个注释,没有iframe或只是链接到另一个页面来查看内容。

1 个答案:

答案 0 :(得分:0)

尝试使用BlobURL.createObjectURL保存,"导出" html片段

var elem = $("article");

var styles = elem.css(["width", "height" /* , additional style properties */ ]);

elem.attr("style", function(i, style) {
  return $.map(styles, function(val, key) {
    return return key + ":" + val + ";"
  }).join();
});

var blob = new Blob([elem[0].outerHTML], {"type":"text/html"});

var objUrl = window.URL.createObjectURL(blob);

// do stuff with `objUrl`
// window.open(objUrl);