首页 > 解决方案 > 将 Vimeo 链接更改为 Vimeo 嵌入 jQuery

问题描述

我已经编写(并获取了)一些代码来使 Vimeo 链接(例如https://vimeo.com/0000000 )适应Vimeo 嵌入,例如https://player.vimeo.com/video/0000000

然而,一些 Vimeo 链接有不止一个数字块,例如https://vimeo.com/0000000/0000000

我的代码变成:https://player.vimeo.com/video/0000000。(带 /video/ 和不带两组数字)

有没有更好的方法来调整我的代码以解决这两种情况。

//split vimeo ref from existing link
var url = $('.tour').attr('href');
var parts = url.split("/");
var last_part = parts[parts.length-1];

//add address to viemo embed link
$(".embedlink").attr('src', function(index, attr) {
return attr + (attr.indexOf('?') >=0 ? '&' : '') + last_part;
});

任何帮助,将不胜感激

标签: jquery

解决方案


您可以像到目前为止一样将链接拆分为部分以获得:

[
  "https:",
  "",
  "vimeo.com",
  "0000000",
  "0000000"
]

前 3 个部分始终相同,因此请使用拼接删除它们:

parts.splice(0, 3);

要得到:

[
  "0000000",
  "0000000"
]

现在加入所有剩下的部分,不管它们中有多少回到字符串中:

parts=parts.join("/");
0000000/0000000

现在只需使用它来创建新链接:

"https://player.vimeo.com/video/"+parts

例子:

//split vimeo ref from existing link
var url = $('.tour').attr('href');
var parts = url.split("/");
console.log(parts);
parts.splice(0, 3);
parts=parts.join("/");
console.log(parts);

document.getElementById("newlink").innerHTML = "https://player.vimeo.com/video/"+parts;
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a class="tour" href="https://vimeo.com/0000000/0000000">https://vimeo.com/0000000/0000000</a>
<br>
<div id="newlink"></div>


推荐阅读