2014-12-30 132 views
-6

我想寫一個函數,將測試一個字符串屬於某個電影流媒體網站,然後執行相應的功能。爲了我自己的目的,我試圖讓它分裂URL的「ID」部分並嵌入它。測試鏈接是否爲YouTube鏈接。

例如,如果「YouTube」的視頻被包含在由字符串時,它會測試字符串。

function testingURL() { 
     var url = $("#<%=txtYoutubeLink.ClientID %>").val();   
     if(url.toLowerCase().indexOf("youtube") > 0) // this is where my function fails. 
     { 
      var Youtubeurl = url.toString().split('v=')[1]; 
      getTitle(Youtubeurl); 
       document.getElementById('video').src = "//www.youtube.com/embed/" + Youtubeurl 
       } 
    else{ 
     var Vimeourl = url.toString().split('//vimeo.com/')[1]; 
     document.getElementById('video').src = "//player.vimeo.com/video/" + Vimeourl; 
    } 

    $("#<%=txtYoutubeLink.ClientID %>").val() = null; 
    return false; 
} 
+2

你忘了問一個問題! –

+0

你忘了正確地縮進你的代碼! (我不知道哪個更糟糕) – Sebi

+0

我已經讀過這個問題10次試圖找到一個問題,但我不能,而且這讓我發瘋。 – Dan

回答

0

雖然這將是更好的一個清晰的問題添加的問題,我只注意到該行所提供的代碼的註釋:

if(url.toLowerCase().indexOf("youtube") > 0) // this is where my function fails. 

你應該檢查什麼var url = $("#<%=txtYoutubeLink.ClientID %>").val();實際返回,因爲如果url以YouTube開頭,則結果爲

url.toLowerCase().indexOf("youtube") 

0
indexOf()不檢查的子串被包含在另一個字符串,但返回的情況下,子串不包含在位置(開始於0),在情況下,子串被包含,或-1。只要調整到

if(url.toLowerCase().indexOf("youtube") >= 0) 

參考:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf