2011-11-26 31 views
11

Tôi đang sử dụng Mẫu jQuery để nhúng người dùng đã đăng vids YouTube. Tôi có thể lấy id video và lưu nó vào cơ sở dữ liệu và mọi thứ đều hoạt động chính xác. Tuy nhiên khi cố gắng để nhúng video với jQuery Templates như sau:Nhúng video trên YouTube bằng mẫu jQuery - 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}} 

tôi nhận được lỗi sau: "NetworkError: 404 Not Found - http://www.youtube.com/v/"

${VideoId}streamObj.TypeOf trở lại một cách chính xác. Nhưng đó là lỗi. Điều gì có thể gây ra điều này? Cảm ơn bạn.

+0

Thông báo lỗi hiển thị url youtube bị thiếu id video ('http: // www.youtube.com/v /'). Bạn có chắc chắn trình giữ chỗ '$ {VideoId}' được thay thế không? –

+0

Bạn có chắc chắn rằng $ {VideoId} không phải là một chuỗi rỗng không? –

+3

firebug mở hoặc một số bảng điều khiển javascript khác để kiểm tra xem url có đang được tạo sau khi trang đã tải hay không. VideoId của bạn có thể đang được đặt lại ở đâu đó. –

Trả lời

2

Hãy thử điều này.

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

Hoặc có lẽ tốt hơn.

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> 

Tôi tin rằng thẻ mẫu trong mã của bạn không được đánh giá sai do thực tế là thẻ mẫu được đặt làm một phần của giá trị chuỗi js.

0

bạn sẽ nhận được các ${VideoId} ra khỏi chuỗi và sử dụng một thao tác chuỗi như

var videoIdString=${videoId}; 

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

Bởi vì:

trong trang này, ive không bao giờ nhìn thấy $ {} được sử dụng giữa dấu ngoặc kép.

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

do đó, mã của bạn sẽ là:

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> 
Các vấn đề liên quan