使用 jQuery 过滤器在 colorbox 中打开 vimeo url

问题描述 投票:0回答:2

我想使用 jQuery 扫描 html 页面 - 在本例中由 WordPress 创建,以查找指向 vimeo 视频的所有链接 - 由用户通过 WP 编辑管理员添加。

然后我想将这些链接的控制权传递给 colorbox。

jQuery 选择器适用于此链接:

http://vimeo.com/44799432

// vimeo in colorbox ##
jQuery("a").filter(function(){ // filter all as ##
    return jQuery(this).text().match(/vimeo\.com/igm); // match text with vimeo.com ##
    }).colorbox({iframe:true, innerWidth: "80%", innerHeight: "80%"}) // assign to colorbox ##
    .addClass("button vimeo"); // add class to style ##

但是,vimeo 将内容推出 iframe 并重新加载页面 - 所以我需要一个与此 url 匹配的正则表达式 - 可以通过 iframe 嵌入:

http://player.vimeo.com/video/44799432

match(/player.vimeo\.com/);

不这样做 - 有什么想法吗?

注意:我显然需要一个循环来检查多个 vimeo 链接...

谢谢!

jquery regex embed vimeo
2个回答
1
投票

试试这个(未经测试)>>

jQuery("a").filter(function() {
    return jQuery(this).text().match(/vimeo\.com/igm);
  }).each(function() { 
    this.setAttribute("href", this.getAttribute("href")
    .replace(/^https?:\/\/(?:www\.|)vimeo\.com\/(\d+)$/i,
      "http://player.vimeo.com/video/$1")); 
  }).colorbox({iframe:true, innerWidth: "80%", innerHeight: "80%"})
  .addClass("button vimeo");

0
投票

jQuery(文档).ready(function() { jQuery("a[href*='vimeo.com'], a[href*='player.vimeo.com']").colorbox({ iframe:真实, 内部宽度:“80%”, 内部高度:“80%” }).addClass("按钮 vimeo"); }); 此代码有效地选择所有 Vimeo 和播放器 Vimeo links,对它们应用 Colorbox,并添加指定的类。

© www.soinside.com 2019 - 2024. All rights reserved.