c# - 像 Jabbr 这样的内容提供商

标签 c# javascript jquery asp.net-mvc

基本想法是,如果我将你管中的 url 添加到我的聊天中,它将从 youtube 获取内容并在聊天窗口本身上显示视频。

我怎样才能得到像Jabbr这样的内容提供者?甚至喜欢 gmail 或 Facebook。是否有已知的 JS 库或标准函数来完成此操作? 我查看了 Jabbr 代码,它是在服务器端完成的,无法进行页面刷新。

我正在寻找您可以指出的任何资源,这些资源可以帮助我入门。 我希望在我的聊天中添加不同的内容提供商,如 Youtube.com、twitter 等。

最佳答案

我也没有找到任何预制库来执行此操作。但是自己动手也不错;自动注入(inject) YouTube 视频的 jQuery 代码可能如下所示:

urls = text.match(/http:\/\/www.youtube.com\/watch\?.*v\=([^\?\&]+)/);

if (urls) {
    $("#chatbox").prepend('<div class="entry"><iframe title="YouTube video player" class="youtube-player" type="text/html" width="320" height="240" src="http://www.youtube.com/embed/' + urls[1] + '" frameborder="0" allowFullScreen></iframe></div>');
    return;
}

查看演示效果的示例 fiddle :example .作为另一个示例,它还匹配普通链接。要扩展这个概念,您只需要弄清楚要匹配的输入类型(例如我示例中的正则表达式)以及需要注入(inject)的代码(例如 YouTube 嵌入 iframe)。

您应该注意仔细测试您的表达式和注入(inject),以免允许用户注入(inject)恶意代码。

关于c# - 像 Jabbr 这样的内容提供商,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15456725/

相关文章:

带有函数原型(prototype)的 Javascript 命名空间声明

javascript - Angular 2 Ionic 2 - 如何将日期输入的最大或最小日期设置为今天?

javascript - 播放 .mp3,然后移至下一页

c# - 有没有办法使用 Linq 将 IEnumerable 组织成列主要格式的批处理?

c# - .NET Xml 序列化程序可选属性

c# - C# 中的最小起订量事务范围

javascript - 如何使用局部 View 展开/折叠 html 表格?

javascript - 当前菜单项

javascript - 使用 AjaxForm Jquery 重命名文件

c# - 单元测试;正确的做法?