2011-11-26 95 views
11

我正在使用jQuery模板嵌入用戶發佈的YouTube視頻。我能夠獲取視頻ID並將其保存到數據庫中,並且一切正常。然而試圖用jQuery模板嵌入視頻如下時:用jQuery模板嵌入YouTube視頻 - C#

{{if streamObj.TypeOf == 3}} 
      <object width="425" height="350" data='http://www.youtube.com/v/${VideoId}' type="application/x-shockwave-flash"> 
      <param name="src" value='http://www.youtube.com/v/${VideoId}' /></object> 
{{else}} 

我得到以下錯誤:"NetworkError: 404 Not Found - http://www.youtube.com/v/"

${VideoId}streamObj.TypeOf迴歸正常。但那是錯誤。 這可能是什麼原因造成的?謝謝。

+0

顯示YouTube網址的錯誤消息缺少視頻ID('http:// www.youtube.com/v /')。你確定佔位符「$ {VideoId}」被替換嗎? –

+0

你確定$ {VideoId}不是一個空字符串嗎? –

+3

打開螢火蟲或其他一些javascript控制檯,檢查網頁加載後是否產生網址。您的VideoId可能會在某處被重置。 –

回答

2

試試這個。

<object width="425" height="350" data='http://www.youtube.com/v/' + ${VideoId} type="application/x-shockwave-flash"> 
    <param name="src" value='http://www.youtube.com/v/' + ${VideoId} /> 
</object> 

或者更好。

var videoUrl = 'http://www.youtube.com/v/' + ${VideoId}; 

<object width="425" height="350" data=videoUrl type="application/x-shockwave-flash"> 
    <param name="src" value=videoUrl /> 
</object> 

我相信,在你的代碼模板標籤不會因該模板標籤被設置爲一個js字符串值的一部分的事實corretly評估。

0

你應該得到${VideoId}出字符串和使用字符串操作一樣

var videoIdString=${videoId}; 

var urlString='http://www.youtube.com/v/' + videoIdString ; 

因爲:使用引號之間

在此頁面

,香港專業教育學院從未見過$ {}。

http://api.jquery.com/template-tag-equal/

因此您的代碼將是:

var videoIdString=${videoId}; 

<object width="425" height="350" data='http://www.youtube.com/v/'+videoIdString 
type="application/x-shockwave-flash"> 
<param name="src" value='http://www.youtube.com/v/'+videoIdString /></object>