【问题标题】:Inline CSS/Javascript into a HTML file将 CSS/Javascript 内联到 HTML 文件中
【发布时间】:2010-12-20 23:57:31
【问题描述】:

我正在寻找一个简单的命令行脚本/程序来自动“内联”html 文件的所有外部 css 和 javascript 引用。我基本上想创建一个适合通过电子邮件发送的独立的 html 文件。如果它还可以将图像作为数据内联:UIR,那将是一个额外的好处,但那部分并不那么重要。

【问题讨论】:

  • +1 我也在找那个。很想看看会发生什么。
  • 您在哪个服务器端脚本上运行?
  • PHP 适合我。不知道 TO。

标签: javascript html css inline


【解决方案1】:

有一个 Node.js 库可以完全解决您的问题:https://github.com/remy/inliner/ 它既可以用作命令行脚本,也可以用作库。

它将为您创建一个.html 文件,该文件可以通过任何方式发送到任何地方,以后无需连接互联网即可在任何浏览器中打开。

如果您考虑通过内联 CSS 和 Javascript 来制作 HTML 电子邮件正文,那就别管它了。大多数电子邮件客户端要么会忽略或严重损坏您的样式,而且我认为所有电子邮件客户端都会在电子邮件正文中直接删除内联 Javascript。

【讨论】:

    【解决方案2】:

    编辑:为了好玩,我写了一个 Python 小脚本。它似乎工作得很好:

    Inline2Mail

    或者你仍然可以尝试:

    Front compiler 做了类似的事情,但它暗示了 javascript。您也有一个在线解决方案,premailer。最后,您有一个 Python 和一个 Ruby 脚本来执行此操作。

    【讨论】:

    • 我正在尝试将诸如
    • Premailer 执行此导入,而 python 脚本直接在标签中注入 css。它们是互补的。
    【解决方案3】:

    我的这个 Python 项目可以帮助内联 CSS 样式 https://github.com/rennat/pynliner

    【讨论】:

      【解决方案4】:

      如果不需要自动化并且您使用的是 Windows,则可以在 Internet Explorer 中打开网页并将其保存为“Web Archive, single file (*.mht)” .这会将所有内容打包到一个文件中,包括 CSS、JavaScript 和图像。请注意,收件人需要能够访问 Internet Explorer 才能打开 Web 存档。 Google Chrome 和 Firefox 都不支持 mht 文件,因此它可能是 Microsoft 独有的功能。

      【讨论】:

      • Opera 也支持它,它是一种 MIME 多部分格式,因此电子邮件客户端应该支持它:stackoverflow.com/questions/793404/…
      • 这当然是一个解决方案,但不完全是 OP 所要求的。 *.mht 文件是特殊格式,本质上是将所有资产放在一个位置的存档文件。据说这个问题是关于制作一个可以在任何浏览器中照常加载的 HTML 页面,无论是通过 HTTP 请求,还是从文件本地加载。这是*.mht 格式无法提供的,应该通过编程解决。
      猜你喜欢
      • 2021-02-21
      • 2015-10-10
      • 1970-01-01
      • 2015-06-03
      • 2018-07-13
      • 1970-01-01
      • 2012-08-09
      • 1970-01-01
      • 2014-03-11
      相关资源
      最近更新 更多