我正在研究asp.net mvc3应用程序。在这里我有一个textarea,用户可以在点击按钮时从我的代码获取url详细信息中写入url并粘贴url。
但我想像facebook一样实现它。在Facebook上我们写一些网址时会自动获取网址详情,
我尝试过键盘功能,但会不断检查输入网址。
$('#urlinput').keyup(function () {
//alert("something is here!!");
if (!isValidURL($('#urlinput').val())) {
alert('Please enter a valid url.');
return false;
}
else {
some code...
}
我在facebook中发现的是,当我们写下url后跟空格时,它会获取url的详细信息,当我们将url粘贴到文本框中时,它将获取url的详细信息。我怎么能这样实现呢?
任何人都可以建议我像Facebook一样实施该怎么做?
答案 0 :(得分:1)
如果我想尝试,我会这样做:
希望这有帮助
答案 1 :(得分:1)
粘贴会引发一个可以与之绑定的事件:
$(myelement).bind('paste',function(event) {
alert('paste');
});
关于keyup事件,事件对象将提供在event.which
中按下的键。
$(myelement).bind('keyup',function(event) {
alert(event.which);
});
使用正则表达式,您可以提取网址。你可以在这个地址找到正则表达式:http://regexlib.com/Search.aspx?k=URL&AspxAutoDetectCookieSupport=1
现在对于Facebook上的“预览”功能,我想这有点困难,因为他们似乎分析了目标网址的内容,以提取缩略图和一些内容(文章文本等)。
希望这有帮助, d。
答案 2 :(得分:0)
嗯,您必须在keyup
上执行此操作,也可以在onchange
上执行此操作,以便在用户粘贴网址时处理此情况。
当您识别出有效的网址时,您应该使用AJAX将其发送到服务器。然后,服务器下载URL,并分析HTML的字符串以获取页面标题等数据,并将此数据打磨回客户端,您可以在其中向用户显示该数据。