好吧,所以这个有点奇怪......
我在 Safari 中有一个 HTML 页面,我想将其作为电子邮件发送。如果我进入文件菜单并选择“此页面的邮件内容”,它会按预期传输并且看起来正确。
但是,如果我使用 Scripting Bridge 将收件人添加到外发邮件,它会将以下代码添加到添加的每个收件人的邮件内容区域的顶部。在一个示例中,添加了 24 个收件人,生成的电子邮件包含以下代码的 24 个连续重复:
<div style=3D"font-family: = Helvetica; font-size: 12px; color: black; text-align: left;">
<br =class=3D"webkit-block-placeholder"></div>
由于 div 标记的呈现方式,在电子邮件的开头创建了 24 个换行符,以便我的 HTML 从页面的下方开始。
有人知道为什么要插入此代码吗?
这是我用于 Scripting Bridge 的代码:
SafariDocument *safariDoc = [[[[safari classForScriptingClass:@"document"] alloc]
initWithProperties:[NSDictionary dictionaryWithObject:@"//private/var/tmp/mail.html" forKey: @"URL"]] autorelease];
[[safari documents] addObject:safariDoc];
SafariWindow *safariWindow = [[safari windows] objectAtIndex:0];
[safariWindow emailContentsOf:safariWindow.currentTab];
mailMessage = [[[mail outgoingMessages] objectAtIndex:0] autorelease];
这是我用来添加收件人的代码:
MailToRecipient *recipient = [[[[mail classForScriptingClass:@"to recipient"] alloc]
initWithProperties:[NSDictionary dictionaryWithObjectsAndKeys:
[preferencesData bandName], @"name",
[preferencesData bandEmail], @"address",
nil]] autorelease];
[[mailMessage toRecipients] addObject:recipient];
* 编辑 *
我找到了解决该问题的方法,但是我仍然想知道为什么在添加收件人时将这段代码插入正文中...解决方法如下:我将以下内容插入了 CSS 部分我的 HTML 模板...
div {
display:none;
}
因此,显示会忽略 html 模板中的所有 div 标签。我仍然有上述代码的 24 个副本,但它们基本上被忽略了,这解决了我的视觉布局问题。
如果有人有更好的解决方案,请告诉我!