2009-08-27 4 views
0

Как скопировать html-код ссылки в буфер обмена и проанализировать его как ссылку в Lotus Notes?Как скопировать html-источник ссылки в буфер обмена и проанализировать как ссылку в Lotus Notes?

Например, в Javascript положить <a href='http://www.stackoverflow.com'>StackOverFlow</a> в буфер обмена, а затем проанализировать его как ссылку в Lotus Notes при написании нового письма. Он должен показывать только ссылку StackOverFlow в новом сообщении.

Я нашел функцию window.clipboardData.setData("Text",link), но она может копировать текст только в буфер обмена.

Любые советы для меня?

ответ

1

window.clipboardData - это только функция Internet Explorer. Другие поставщики браузеров рассматривают вмешательство с буфером обмена как угрозу безопасности и, возможно, действительно очень раздражают, поэтому он не реализован в Firefox, например.

Единственный способ я знаю, чтобы сделать это кросс-браузер является использование флэш-ролик, и вы можете узнать больше о том, что здесь: 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. 
+0

Thanks nickf ^^ Доступно только в IE, это нормально. Но моя проблема в том, что содержимое, которое я разобрал, не является реальной ссылкой, после копирования в буфер обмена. Мне нужно разобрать его в Louts Notes как реальную ссылку, которая отображает только название ссылки и скрывает адрес ссылки. – 2009-08-27 13:47:13

0

большое спасибо nickf ^^

Я попробовал ваш код следующим образом:

<a id="myLink" href="http://www.google.com">Google Site</a> 
<input type="button" name="anniu1" onclick="copyUrl()" value="copy it"> 
<script language="javascript"> 
    function copyUrl() 
    { 
    var newEl = myLink.cloneNode() 
    var div = document.createElement('div'); 
    div.appendChild(newEl); 
    var outerHTML = div.innerHTML; // <-- this is the variable you want. 
    window.clipboardData.setData("Text",outerHTML); 
    } 
</script> 

Я запускаю его в HTML-файле, но когда я его разбираю в Lotus Notes, он показывает:

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

Что мне нужно, это реальная связь как Google Site

+0

Hi Huiyu, отсюда это звучит как проблема с Lotus Notes, о которой я не знаком, извините. Еще одна вещь: чтобы поделиться дополнительной информацией, подобной этой, вы должны нажать ссылку «изменить» чуть ниже своего вопроса. Таким образом, эта важная информация не будет путаться с ответами. Приветствия. – nickf

+0

Извините за мое глупое действие. Большое спасибо nickf. – 2009-08-27 14:11:56

1

Чтобы создать ссылку в Lotus Notes по электронной почте, вы должны:

  1. Написать текст для примера ссылка: StackOverflow
  2. Выберите текст
  3. Нажмите «Создать» - «Горячая точка» - «Ссылка на точку доступа» ...
  4. Введите URL-адрес в поле значений

Это для Notes 7. Не уверен, что это были примечания 8 или 8.0.2, где они добавили кнопку на панели инструментов, чтобы упростить это.

Надеется, что это помогает

+0

Спасибо Карлос :) Но мне нужно создать ссылку, проанализировав содержимое из буфера обмена. – 2009-08-27 15:00:39

+0

@Huiyu можно (я думаю) получить доступ к буферу Windows из LotusScript - чтобы вы могли написать кнопку действия. – LRE

+0

@ Однако подход Карлоса - это быстрый способ сделать это. Вам нужно будет скопировать только URL-адрес и вставить его в свойства hotspot. – LRE

2

@Carlos имеет базовый пользовательский уровень способа сделать это, но это, кажется, что вы хотите сделать это programattically.Я думаю, что наиболее эффективный подход заключается в действии таких как «ссылка пасты», что:

  1. получает доступ к буферу обмена
  2. анализирует текст в основной HTML-фрагмент
  3. сохраняет этот фрагмент на диск
  4. импортирует этот html в поле с богатым текстом

вот an example о том, как добраться до буфера обмена.

Чтобы импортировать ссылку в заметки, создать элементарный 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»).

В зависимости от того, что именно вы пытаетесь достичь и с чем вам наиболее комфортно, вы можете захотеть составить HTML-код за пределами Notes, и просто выполните действие с битом импорта. Если вы примете такой подход, тогда вам нужно будет играть с буфером обмена.

Обратите внимание на следующее:

  • метод `NotesUIDocument.Import()` впрыскивает содержимое HTML-файла, где курсор находится в поле форматированного текста (тела). Вам нужно, чтобы ваш курсор находился в нужном месте.
  • Если у вас есть указатель в текстовом поле с нечетким текстом, вы, вероятно, получите сообщение об ошибке.
  • Метод `NotesUIDocument.Import()` отражает функциональность элемента меню `File \ Import`, поэтому вам даже не нужно писать код в Notes, если вы этого не хотите.

 Смежные вопросы

  • Нет связанных вопросов^_^