2012-03-10 54 views
2

我查看了所有的東西,從字符串中刪除字符,但我不明白這裏發生了什麼。刪除'+ e.link [0] .href +'開頭和結尾的字符?

我使用的是jQuery script從Youtube頻道獲取視頻,並通過鏈接顯示視頻。在同一頁面上,我使用iframe code嵌入了一個視頻。我將視頻設置爲在iframe中的目標中打開。但是,這些網址無效。

  • URL應該爲:http:// www.youtube.com/embed/VIDEO_ID
  • URL它目前是:http:// www.youtube.com/watch?v=VIDEO_ID &功能= youtube_gdata

(損壞的鏈接,因爲新用戶不能發佈超過2個鏈接)

我需要刪除多餘所以我想要做的是去除從一開始http://www.youtube.com/watch?v=&feature=youtube_gdata從末尾,則將http://www.youtube.com/embed/加回到sta RT。

但是,鏈接似乎是某種事件,我只是無法解決如何做到這一點。

+ e.link[0].href + 

上面是如何鏈接出現在JavaScript中。

我該如何製作我需要的鏈接?

非常感謝, 傑克·克拉克

回答

2

你可以得到的視頻ID淘汰舊的URL,構建一個新的URL是這樣的:

var origURL = "http://www.youtube.com/watch?v=ayYNAEs0few&feature=youtube_gdata"; 
var matches = origURL.match(/(&|\?)v=([^&]+)/); 
var newURL = "http://www.youtube.com/embed/" + matches[2]; 

// newURL == http://www.youtube.com/embed/ayYNAEs0few 

工作例如:http://jsfiddle.net/jfriend00/zwcgL/

使用這種從原始URL中提取實際視頻ID的技術,然後您可以構建任何類型的其他URL,並使用它添加一些簡單的字符串。

1

有可能是一個更簡單的方法做你想做的事,但真正快速的方法是做這樣的事情:

var link = "http://www.youtube.com/watch?v=12345678"; 

link.replace('http://www.youtube.com/watch?v=',''); 

// link now = 12345678 

,所以你可以用它來追加到一個字符串。

link2 = 'http://www.youtube.com/watch?v=' + link; 
1
var original = "http://www.youtube.com/watch?v=VIDEO_ID&feature=youtube_gdata"; 
var changed = original 
       .replace("http://www.youtube.com/watch?v=", "http://www.youtube.com/embed/") 
       .replace("&feature=youtube_gdata", ""); 

alert(changed); // shows "http://www.youtube.com/embed/VIDEO_ID" 
相關問題