我正在尝试编写一个函数来测试字符串是否属于某个电影流媒体网站,然后相应地执行某些功能。出于我自己的目的,我试图让它分开" ID"网址的一部分并嵌入它。
例如,如果" 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;
}
答案 0 :(得分:0)
虽然最好在问题中添加一个明确的问题,但我只是注意到所提供代码的这一行中的注释:
if(url.toLowerCase().indexOf("youtube") > 0) // this is where my function fails.
您应该检查var url = $("#<%=txtYoutubeLink.ClientID %>").val();
实际返回的内容,因为如果网址以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