【问题标题】:testing if a link is a youtube link.测试链接是否为 youtube 链接。
【发布时间】:2015-02-26 04:30:44
【问题描述】:

我正在尝试编写一个函数来测试一个字符串是否属于某个电影流媒体站点,然后相应地执行一些函数。出于我自己的目的,我试图让它拆分 url 的“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;
}

【问题讨论】:

  • 你忘了问问题!
  • 你忘了正确缩进你的代码! (我想知道哪个是最糟糕的部分)
  • 我已经读了 10 次这个问题试图找到一个问题,但我做不到,这让我发疯。
  • 由于某种原因,我的问题中缺少一个段落。我的昵称也是“Sebi”! o_o

标签: jquery asp.net youtube


【解决方案1】:

虽然最好在问题中添加一个明确的问题,但我只是注意到所提供代码的这一行中的注释:

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

您应该检查 var url = $("#&lt;%=txtYoutubeLink.ClientID %&gt;").val(); 实际返回的内容,因为如果 url 以 youtube 开头,则

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

is 0.
indexOf() 不检查子字符串是否包含在另一个字符串中,但如果包含子字符串,则返回位置(从 0 开始),或 -1 如果包含不包含子字符串。调整为

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-16
    • 1970-01-01
    • 1970-01-01
    • 2014-12-16
    • 1970-01-01
    • 2013-01-10
    相关资源
    最近更新 更多