热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在单个页面中处理多个电子邮件HTML

我们正在实施电子邮件支持应用程序。与任何其他支持应用程序一样,客户可以

我们正在实施电子邮件支持应用程序。与任何其他支持应用程序一样,客户可以按线程或链发送多个电子邮件。此链还可包括正在解决案件的代理商的答复。在这种情况下,HTML显示的结构如下

UIApplication.shared.open(URL(string:"photos-redirect://\(self.dukePhotolibrary?.albumName as! String)")!)

我们面临的问题是这些电子邮件带有自己的HTML内容。在许多情况下,这导致与我们的HTML结构或CSS或两者冲突。导致页面结构中断或CSS表示缺失。

我们尝试将这些单独的邮件放在iframe中,但是当线程中有多封电子邮件时,这会使页面加载变得非常缓慢或无响应。






EMAIL 1 - This has it's entire HTML content. Including Body css etc etc.


EMAIL 2 - This has it's entire HTML content. Including Body css etc etc.





关于如何最好地解决此问题并减少与页面CSS或html结构的冲突的任何建议都将有所帮助。



在将代码插入页面之前,您需要执行Gmail等操作并修改代码。

您可以通过在功能强大的电子邮件客户端中查看输出代码来对他们的电子邮件进行反向工程。 (有关Gmail源代码,请参见https://webapps.stackexchange.com/questions/33926/can-i-view-the-html-source-of-an-email-sent-to-my-gmail-address。)

为避免CSS冲突,您基本上需要为所有传入的CSS类添加前缀。

为避免HTML冲突,您需要禁止某些属性(或仅允许某些属性)。例如,您将不需要固定的位置。绝对定位可能需要将包装div相对定位。

您需要将标签更改为

解释它们后,需要删除标签和标签。即一些标签包含诸如“此电子邮件接受暗模式”或“此电子邮件仅接受亮模式”之类的说明-如果您认为需要对它们执行任何操作,则需要进行相应的解释。对于第一个版本,您也许可以安全地忽略它们(删除它们)。

您可能希望插入延迟加载功能,以便一次仅加载某些内容-特别是图像和其他资产(尽管通常期望剥离外部样式表,因为您无法确保它们不会干扰)。

出于安全和无干扰的目的,您需要删除标签。

对于移动设备,我注意到存在某种形式的响应性检测,如果电子邮件没有响应,则电子邮件软件会添加类似以下内容的转换:在外包装上缩放(0.xx) ),使其适合。随心所欲地处理。


推荐阅读
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • 本文介绍了在满足特定条件时如何在输入字段中使用默认值的方法和相应的代码。当输入字段填充100或更多的金额时,使用50作为默认值;当输入字段填充有-20或更多(负数)时,使用-10作为默认值。文章还提供了相关的JavaScript和Jquery代码,用于动态地根据条件使用默认值。 ... [详细]
  • Iwouldliketobeabletohaveasidebarthatcanbetoggledinandoutonabuttonpress.However ... [详细]
  • JavaScript在常人看来都是门出不了厅堂的小语言,仅管它没有明星语言的闪耀,但至少网页的闪耀还是需要它的,同时它是一门很实用的语言,本人平时就喜欢拿它来写点实用工具或应用,本文演示用JavaSc ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了Java后台Jsonp处理方法及其应用场景。首先解释了Jsonp是一个非官方的协议,它允许在服务器端通过Script tags返回至客户端,并通过javascript callback的形式实现跨域访问。然后介绍了JSON系统开发方法,它是一种面向数据结构的分析和设计方法,以活动为中心,将一连串的活动顺序组合成一个完整的工作进程。接着给出了一个客户端示例代码,使用了jQuery的ajax方法请求一个Jsonp数据。 ... [详细]
  • 本文介绍了如何在Jquery中通过元素的样式值获取元素,并将其赋值给一个变量。提供了5种解决方案供参考。 ... [详细]
  • 本文介绍了使用jQuery实现图片预加载和等比例缩放的方法,同时提供了演示和相关代码。该方法可以重置图片的宽度和高度,并使图片在水平和垂直方向上居中显示。 ... [详细]
  • 表单提交前的最后验证:通常在表单提交前,我们必须确认用户是否都把必须填选的做了,如果没有,就不能被提交到服务器,这里我们用到表单的formname.submit()看演示,其实这个对于我们修炼道 ... [详细]
  • JavaScript - let和var区别
    前提ES5只有函数作用域和全局作用域,var属于ES5。let属于ES6,新增块级作用域。目的是可以写更安全的代码。Theletstatementdeclaresablocks ... [详细]
  • 但有时候,需要当某事件触发时,我们先做一些操作,然后再跳转,这时,就要用JAVASCRIPT来实现这一跳转功能。下面是具体的做法:一:跳转到新页面,并且是在新窗口中打开时:复制代码代码如下:fu ... [详细]
author-avatar
snail
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有