2013-03-17 68 views
3

基本思路是,如果我從你的管道添加網址到我的聊天,它會從YouTube獲取內容並在聊天窗口本身顯示視頻。Content Provider Like Jabbr

我如何獲得內容提供者,如Jabbr甚至像Gmail或Facebook。有沒有一個已知的JS庫或標準函數來完成這個? 我看了一下Jabbr代碼,它已經在服務器端完成了,並且不能用於頁面刷新。

我正在尋找任何資源,你可以指點我可以幫助我開始。 我期待添加像Youtube.com,twitter等不同的內容提供商到我的聊天。

+1

當你找到答案時,我會在jabbr中使用它:) – davidfowl 2013-03-17 07:24:53

+0

看起來像我將不得不寫我自己的JS – 2013-03-17 16:03:45

回答

3

我還沒有找到任何預製庫來做到這一點。但是推出自己的產品還不錯, jQuery代碼自動注入一個YouTube視頻可能是這樣的:

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)。

您應該小心謹慎地測試表達式和注入,以免讓用戶注入惡意代碼。

+0

由於他提到asp.net mvc,他可能會更好地讓服務器處理解析URL。只需將值傳遞給System.Uri類就足以至少確定一個字符串是否是有效的url。他還能夠迅速取消XSS和其他內容,甚至禁止某些鏈接。 – rossisdead 2013-04-04 20:50:56

相關問題