【问题标题】:Copy Template From Webpage And Paste In Gmail Signature从网页复制模板并粘贴到 Gmail 签名中
【发布时间】:2018-09-17 05:21:56
【问题描述】:

我创建了一个 Html 模板。我可以通过选择完整的模板从浏览器中复制,然后将其粘贴到 gmail 签名编辑器中,所有格式和图像 url 都是从模板中正确复制的。现在我需要保留一个按钮,如果我单击相同的模板,则必须在该按钮上选择和复制。但我无法理解所选模板的类型。是rtf吗?我如何在 JavaScript 中实现这一点。我已经尝试使用 $('#id').html() 选择并使用 document.execCommand('copy'); 粘贴内容;

这是我创建的函数,我将 $('#id').html() 传递给它 -

const copyToClipboard = str => {
  const el = document.createElement('textarea');
  el.value = str;
  document.body.appendChild(el);
  el.select();
  document.execCommand('copy');
  document.body.removeChild(el);
};

但是当我将它粘贴到 gmail 签名框中时,只会粘贴 html 代码。

需要了解这里发生了什么?

【问题讨论】:

    标签: html templates copy gmail signature


    【解决方案1】:

    将 HTML 作为用户输入的 Web 应用程序使用一种称为 HTML sanitizer 的东西。在页面中包含用户提供的 HTML 的网络安全风险是:如果页面未能正确剥离所有脚本,恶意用户将能够运行任意 javascript 并劫持用户体验(即页面将易受 XSS 攻击)。 sanitizer 所做的是检查 HTML 模板并生成一个新的 HTML 模板,只保留被指定为“安全”和所需的标签。

    【讨论】:

    • 那么我该如何实现上述行为。我需要一个按钮来复制模板,并且必须能够将其粘贴到电子邮件签名框中。
    • 我无法为您提供确切的解决方案,但您必须使用完全 HTML 来完成所有您正在做的事情。 Gmail 对其安全策略非常激进。所以,他们不允许你用 JavaScript 做有线的东西。另外,如果有帮助,请采纳答案。
    • 这没有回答问题。抱歉,无法将其标记为答案。
    猜你喜欢
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2018-01-28
    • 2017-05-18
    • 1970-01-01
    • 1970-01-01
    • 2012-11-06
    相关资源
    最近更新 更多