【问题标题】:Content Provider Like Jabbr像 Jabbr 这样的内容提供者
【发布时间】:2013-03-17 01:43:17
【问题描述】:

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

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

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

【问题讨论】:

  • 当你找到答案时,我会在jabbr中使用它:)
  • 看来我得自己写JS了

标签: c# javascript jquery asp.net-mvc


【解决方案1】:

我也没有找到任何预制库来执行此操作。但是自己动手也不错。自动注入 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;
}

查看演示效果的示例小提琴:example。作为另一个示例,它还匹配纯链接。为了扩展这个概念,你只需要弄清楚你想要匹配什么类型的输入(例如我的示例中的正则表达式),以及你需要注入什么代码(例如 YouTube 嵌入 iframe)。

您应该小心谨慎地测试您的表达式和注入,以免您允许用户注入恶意代码。

【讨论】:

  • 既然他提到了asp.net mvc,他可能最好让服务器处理解析url。只需将值传递给 System.Uri 类就足以至少确定字符串是否是有效的 url。他还能够快速去除 XSS 和其他东西,甚至一起禁止某些链接。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-28
  • 1970-01-01
相关资源
最近更新 更多