1

如何将链接的 html 代码复制到剪贴板并将其解析为 Lotus Notes 中的链接?

例如,在 Javascript 中放入<a href='http://www.stackoverflow.com'>StackOverFlow</a>剪贴板,然后在编写新电子邮件时将其解析为 Lotus Notes 中的链接。它应该只在新消息中将链接显示为StackOverFlow 。

我找到了一个函数window.clipboardData.setData("Text",link),但它只能将文本复制到剪贴板。

对我有什么建议吗?

4

3 回答 3

2

@Carlos 具有执行此操作的基本用户级方法,但您似乎想以编程方式执行此操作。我认为最有效的方法是采取诸如“粘贴链接”之类的操作:

  1. 访问剪贴板
  2. 将文本解析为基本的 html 片段
  3. 将该片段保存到磁盘
  4. 将该 html 导入富文本字段

这是有关如何访问剪贴板的示例。

要将链接导入笔记,请从您的操作中构建一个基本的 HTML 文件,如下所示:

<html><body>
<a id="myLink" href="http://www.google.com">Google Site</a>
</body></html>

保存它,然后使用如下代码导入它:

dim ws as New NotesUIWorkspace
dim d as NotesUIDocument
set d = ws.currentDocument

call d.import( "HTML File", "c:\foo.html" )

(假设您将文件保存为“c:\foo.html”)。

根据您想要实现的具体目标以及您最熟悉的目标,您可能希望在 Notes 之外编写 HTML 并让操作执行导入位。如果您采用这种方法,则无需使用剪贴板。

请注意以下事项:

  • `NotesUIDocument.Import()` 方法在光标位于富文本(正文)字段中的任何位置注入 HTML 文件的内容。您需要将光标放在正确的位置。
  • 如果您将光标放在非富文本字段中,您可能会收到错误消息。
  • `NotesUIDocument.Import()` 方法反映了菜单项 `File\Import` 的功能,因此如果您不想在 Notes 中编写任何代码,您甚至不必编写任何代码。
于 2009-08-27T21:07:04.050 回答
1

要在 Lotus Notes 电子邮件中创建链接,您必须:

  1. 为链接示例编写文本:Stackoverflow
  2. 选择文本
  3. 点击创建->热点->链接热点...
  4. 在值字段中输入 url

这是针对 Notes 7 的。不确定是 Notes 8 还是 8.0.2,他们在工具栏上添加了一个按钮以方便执行此操作。

希望这可以帮助

于 2009-08-27T14:42:48.587 回答
1

window.clipboardData是 Internet Explorer 独有的功能。其他浏览器供应商将干预剪贴板视为一种安全威胁,并且可能真的很烦人,因此它没有在 Firefox 中实现,例如。

我知道跨浏览器的唯一方法是使用 Flash 电影,您可以在此处了解更多信息:http: //www.jeffothy.com/weblog/clipboard-copy/

如果您对仅支持 IE 感到满意,那么获取元素的完整外部 HTML(而不仅仅是 innerHTML)的方法是将链接复制到另一个元素并获取该元素的 innerHTML 。

javascript看起来像这样(对不起,它未经测试)

var newEl = myLink.cloneNode()
var div = document.createElement('div');
div.appendChild(newEl);
var outerHTML = div.innerHTML;    // <-- this is the variable you want.
于 2009-08-27T13:38:46.557 回答