Как определить URL из текстового поля, как Facebook? - PullRequest
1 голос
/ 08 ноября 2011

Я работаю над приложением asp.net mvc3.в этом у меня есть текстовое поле, где пользователь может написать URL-адрес и вставить URL-адрес, из которого мой код извлекает подробные URL-адреса при нажатии кнопки.

Но я хочу реализовать это как Facebook.В Facebook, когда мы пишем какой-либо URL, он автоматически извлекает детали URL,

Я пробовал использовать функцию keyup, но он будет постоянно проверять URL-адрес ввода.url, за которым следует пробел, он извлекает детали url, а когда мы вставляем url в текстовое поле, он извлекает детали url.Как я могу реализовать таким образом?

Может кто-нибудь предложить мне, что делать для реализации, как Facebook?

Ответы [ 3 ]

1 голос
/ 08 ноября 2011

Вставка вызывает событие, с которым вы можете связать:

$(myelement).bind('paste',function(event) {
    alert('paste');
});

Что касается события keyup, объект события предоставит клавишу, которая была нажата в event.which.

$(myelement).bind('keyup',function(event) {
    alert(event.which);
});

Используя регулярное выражение, вы можете извлечь URL.Вы можете найти регулярное выражение по этому адресу: http://regexlib.com/Search.aspx?k=URL&AspxAutoDetectCookieSupport=1

Теперь для функции «предварительного просмотра», как на Facebook, я думаю, что это немного сложнее, так как они, кажется, анализируют содержимое целевого URL для извлеченияминиатюра и некоторый контент (текст статьи и т. д.).

Надеюсь, это поможет, д.

1 голос
/ 08 ноября 2011

Если бы я пытался это сделать, я бы сделал это так:

  1. Если я вставлю URL-адрес с помощью мыши, я открою браузер при событии mouseup
  2. В случае, если я вставляю, используя клавиатуру, тогда это должно быть сочетание клавиш CTRL + V ... так что при нажатой клавише CTRL я получу URL
  3. Если я набираю текст, то я бы выбрал keyup или когда текстовое поле теряет фокус

Надеюсь, это поможет

0 голосов
/ 08 ноября 2011

Что ж, вам нужно сделать это на keyup, возможно, также на onchange, чтобы позаботиться о ситуации, когда пользователь вставляет URL.

Когда вы узнаете действительный URL, вы должны отправитьэто к серверу используя AJAX.Затем сервер загружает URL-адрес и анализирует строку HTML для данных, таких как заголовок страницы, и передает эти данные обратно клиенту, где вы можете показать его пользователю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...