标签: vimeo

jQuery和Vimeo Froogaloop API

我正在为WordPress构建一个插件,到目前为止,PHP库已经很好了.但我在使用JavaScript API时遇到了一些问题.

我正在尝试将它与jQuery一起使用,我认为WordPress版本的jQuery正在搞乱这个$f捷径.为什么这不起作用?

var vimeoPlayer = {

    init: function() {
        var vimeoPlayers = document.querySelectorAll('iframe'),
        player;

        jQuery('iframe.vimeo-player').each(function(index, iframe){
            player = vimeoPlayers[index];
            $f(player).vimeoPlayer.addEvent('ready', vimeoPlayer.ready);
        });
    },

    addEvent: function(element, eventName, callback) {
        if (element.addEventListener) {
            element.addEventListener(eventName, callback, false);
        }
        else {
            element.attachEvent(eventName, callback, false);
        }
    },

    ready: function(player_id) {
        alert(player_id);
    }
}

jQuery(document).ready(function($){
    vimeoPlayer.init.call();
});
Run Code Online (Sandbox Code Playgroud)

你可以在行动中看到它temp.woodshop.tv/?work/?dickies-campaign/?.

我收到此错误:

TypeError:表达式'$ f(播放器).vimeoPlayer'[undefined]的结果不是对象.

jquery events vimeo froogaloop

6
推荐指数
1
解决办法
2万
查看次数

使用jQuery加载多个Vimeo视频并检测事件

好的,我完全卡住了.我真的希望有人可能有使用Vimeo的Froogaloop API加载Vimeo视频的经验.

我似乎无法抓住"准备好"的事件.

Froogaloop:

<script src="http://a.vimeocdn.com/js/froogaloop2.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

我的剧本:

$.getJSON('http://www.vimeo.com/api/oembed.json?url=' + encodeURIComponent('http://vimeo.com/27027307') + '&width=300&callback=?', function(data){
    $('#video-container').html(data.html); //puts an iframe embed from vimeo's json
    $('#video-container iframe').ready(function(){
        player = document.querySelectorAll('iframe')[0];
        $f(player).addEvent('ready', function(id){
            console.log('success');
        });

    });
});
Run Code Online (Sandbox Code Playgroud)

视频加载正常.这是我在控制台中收到的消息:

Uncaught TypeError: Cannot read property 'ready' of undefined
Run Code Online (Sandbox Code Playgroud)

我需要使用事件监听器来检测暂停等.我看到这篇文章,但不幸的是,主要区别在于我是通过JSON动态加载的.此外,Vimeo有一个运行 Froogaloop的实例,但不是jQuery.

提前致谢!!!

jquery vimeo froogaloop

6
推荐指数
2
解决办法
2万
查看次数

Vimeo在iPhone上嵌入了问题

这是我的困境:

我正在创建一个网站,允许用户提交将发布到网站的视频.用户提交Vimeo链接,视频以嵌入格式发布到站点.除非视频的创建者拥有PRO或PLUS Vimeo帐户,否则嵌入式vimeo视频无法在iPhone 3GS上运行(不确定iPhone 4,但它们可以在iPad上运行).

是否有任何办法可以让嵌入式vimeo视频在iPhone上运行?有任何想法吗?

在此输入图像描述

编辑:我已经检查过,它确实可以在iPhone 4上运行.但仍然不是3GS.

嵌入代码

<iframe src="http://player.vimeo.com/video/<?php echo $videos[$i]; ?>?title=0&amp;byline=0&amp;portrait=0&amp;color=ffff00" width="" height="" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen ></iframe>
Run Code Online (Sandbox Code Playgroud)

html iframe vimeo embedded-video html5-video

6
推荐指数
1
解决办法
5425
查看次数

使用GA事件跟踪的视频跟踪

我正在尝试在我的网站上设置GA事件跟踪以获取IFRAMEVimeo视频嵌入.但是,我无法弄清楚跟踪对象应放在我的IFRAME代码中的位置/方式.

这是我的IFRAME嵌入代码:

<iframe src="http://player.vimeo.com/video/51447433" width="500" 
  height="281"frameborder="0" webkitAllowFullScreen 
  mozallowfullscreen allowFullScreen></iframe>
Run Code Online (Sandbox Code Playgroud)

这就是我认为GA事件跟踪代码应该是这样的:

<a href="#" onClick="_gaq.push(['_trackEvent', 'Videos', 'Play', 'Title']);">Play</a>
Run Code Online (Sandbox Code Playgroud)

我的嵌入代码在哪里?有人可以告诉我这应该是什么样的/工作?

google-analytics vimeo google-analytics-api event-tracking

6
推荐指数
1
解决办法
8788
查看次数

修改iframe.src而不输入历史记录对象

我的网页上有一个iframe.我通过javascript修改src属性,如下所示:

document.getElementById('myiframe').src = 'http://vimeo.com/videoid1';
document.getElementById('myiframe').src = 'http://vimeo.com/videoid2';
document.getElementById('myiframe').src = 'http://vimeo.com/videoid3';
Run Code Online (Sandbox Code Playgroud)

但是,每次我这样做,它都会记录在浏览器的历史记录中.因此,每次我在浏览器窗口中按下时,iframe内容都会从videoid3转到videoid2到videoid1.如果我再次按回,整个页面都会返回.

我想用javascript修改iframe src而不在浏览器的历史记录中记录一个条目.因此,如果我单击浏览器后退按钮,整个页面将返回而不更新iframe.

我尝试过这样的事情:

document.getElementById('myiframe').contentWindow.location.replace('http://vimeo.com/videoid1');
document.getElementById('myiframe').contentWindow.location.replace('http://vimeo.com/videoid2');
document.getElementById('myiframe').contentWindow.location.replace('http://vimeo.com/videoid3');
Run Code Online (Sandbox Code Playgroud)

虽然这使得浏览器后退按钮按照我想要的方式运行,但它打破了vimeo视频中的某些内容.Vimeo要求您通过iframe.src而不是contentWindow.location.replace()更改URL.

因此,如何在不登录历史记录的情况下修改iframe.src?

相关 这实际上是我正在探索解决主要问题的解决方案之一,我在这里发布 历史对象后退按钮与iframes

iframe history back vimeo

6
推荐指数
1
解决办法
6890
查看次数

目标c - 如何使用JS自动播放Vimeo视频

每个试图让Youtube/Vimeo视频在iOS上自动播放的人都知道这可能是一项痛苦的任务.Apple出于正确的原因阻止了'autoplay'参数,但有时您仍然需要使此功能正常工作.

我有同样的问题,自动播放youtube视频,显然,要让自动播放工作,你需要做一些javascript魔术,听取播放器的'onReady'事件,而不是当播放器加载并准备播放你打电话' player.play()'在没有任何其他用户干预的情况下启动它.

Vimeo也有一些javascript API,我很确定你可以用它做自动播放技巧,我只是无法弄清楚如何使用它.

他们有JS迷你库Froogaloop,让事情变得更容易,我看到@ila的这个答案与下面的html字符串一起使用它:

NSString *htmlString = [NSString stringWithFormat:
                                                @"<html><head>"
                                                "<script src=\"froogaloop.js\"></script>"
                                                " <script>"
                                                    "function ready()"
                                                        "{$f(document.getElementById(\"player\")).api(\"play\");}"
                                                    "function func1() "
                                                        "{$f(document.getElementById(\"player\")).addEvent(\"ready\", ready);}"
                                                    "window.onload=func1;"
                                                "</script></head><body>"
                                                       "<iframe id=\"player\" src=\"http://player.vimeo.com/video/39287488?api=1&amp;player_id=player\" width=\"315\" height=\"455\" frameborder=\"0\" webkit-playsinline>"
                                               " </iframe></body></html>"];    

- (void)webViewDidFinishLoad:(UIWebView *)webView {
    NSLog(@"webview loaded");
    NSString *path = [[NSBundle mainBundle] pathForResource:@"froogaloop" ofType:@"js"];
    NSString *jsCode = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
    [webView stringByEvaluatingJavaScriptFromString:jsCode];
}
Run Code Online (Sandbox Code Playgroud)

但这对我来说不起作用,在向这段代码添加警报之后,我可以看到func1()调用并执行'addEvent'行,但是它接缝处理的ready()方法永远不会被调用,因为'ready'事件从未触发过(?) ...

有任何想法吗?

javascript iphone objective-c vimeo ios

6
推荐指数
1
解决办法
4501
查看次数

Android App WebView中Vimeo Player的问题

在我的Android应用程序中,我创建了一个WebView来播放Vimeo视频.当我加载活动时,会显示vimeo视频的正确预览,但是当我尝试播放时,我会看到以下屏幕:

在此输入图像描述

有时视频中的音频播放,但我从未收到视频.以下是我的活动内容:

if(mediaURL.toLowerCase().contains("vimeo")){
       Log.d(TAG, "adding viemo");
       final WebView vimeoPlayer = new WebView(MediaPreview.this);
       vimeoPlayer.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
       vimeoPlayer.getSettings().setJavaScriptEnabled(true);
       vimeoPlayer.getSettings().setLoadWithOverviewMode(true);
       vimeoPlayer.getSettings().setUserAgentString("Android Mozilla/5.0 AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30");
       vimeoPlayer.setWebChromeClient(new WebChromeClient());
       vimeoPlayer.setWebViewClient(new WebViewClient());
       vimeoPlayer.getSettings().setAppCacheEnabled(true);
       vimeoPlayer.getSettings().setDomStorageEnabled(true);
       vimeoPlayer.getSettings().setPluginState(PluginState.ON);
       vimeo_url = mediaURL + "?player_id=player&title=0&byline=0&portrait=0&api=1&maxheight=480&maxwidth=800";
       Log.d(TAG, "vimeo_url: " + vimeo_url);
       vimeoPlayer.loadUrl(vimeo_url);
       // vimeoPlayer.loadDataWithBaseURL("", vimeo_url, "text/html", "UTF-8", null);
                     mediaHolder.addView(vimeoPlayer);;
}
Run Code Online (Sandbox Code Playgroud)

我还没有看到在Android应用中使用Vimeo播放器的任何明确示例,所以如果有人让这个工作,那么非常感谢你的帮助!

android vimeo webview

6
推荐指数
1
解决办法
4896
查看次数

Vimeo API:使用HTTP PUT和blueimp的jQuery fileupload进行流式上传

我正在尝试在网站上实施上传模块,以便我们的用户将视频上传到我们的Vimeo帐户.我正在使用blueimp的jQuery File上传和Vimeo的新API. https://github.com/blueimp/jQuery-File-Upload/wiki/Options https://developer.vimeo.com/api/upload#http-put-uploading 我认为这是接近工作,但我必须失去了一些细节.根据Vimeo的API,我需要:1.生成上传票据,工作正常2.然后我将upload_link_secure传递给开始上传的jquery文件上传.这是PUT请求的请求标头如下所示:

Request Method:PUT
Status Code:200 OK
Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4
Connection:keep-alive
Content-Length:43418955
Content-Type:multipart/form-data; boundary=----WebKitFormBoundarye8sGy57JH6ACoOfJ
Run Code Online (Sandbox Code Playgroud)

这是我调用jQuery文件上传的方式:

$('#file').fileupload({
url: upload_link_secure,
type: 'PUT'
});
Run Code Online (Sandbox Code Playgroud)

我也尝试将Content-Type标题强制为"video/mp4",但它最终没有任何区别.

我还通过绑定jquery fileupload的submit事件检查了文件的大小,并且我得到的字节数也比标题中发送的字节数少,本例中为43418764,这样可以吗?

  1. 通过在upload_link_secure上发送PUT请求来验证上传,我得到一些响应头:

状态代码:308恢复不完整

范围:字节= 0-3948544

状态代码:308恢复不完整

范围:字节= 0-38682624

状态代码:308恢复不完整

范围:字节= 0-43401216

  1. 确保所有字节都成为Vimeo,然后通过在complete_uri上发送DELETE请求来完成上传我在验证上传时得到最后一个标题:

范围:字节= 0-43418955

它似乎匹配第一个请求中的Content-Length发送,所以我执行DELETE请求,这是我得到的响应:

{"正文":{"错误":"您的视频文件无效.您上传的文件格式无效,或上传内容不完整.请确保在上传完成之前验证您的上传."},"状态":400,"header":{"Date":"Mon,06 Oct 2014 17","Server":"Apache","Vary":"Accept,Vimeo-Client-Id,Accept-Encoding","Cache" - 控制 ":" 无缓存,最大年龄= 315360000" , "过期": "星期四,2024年10月3日17", "内容长度": "184", "X-Cnection": "关闭"," Content-Type":"application/vnd.vimeo.error + json","Via":"1.1 dca1-10"}}

我一定犯了一个非常愚蠢的错误,但是我对所有那些HTTP请求和响应并不是很熟悉,有人知道我做错了什么吗?

谢谢 !

[编辑]非常感谢Dashron,我实际上必须将jQuery fileupload的multipart选项设置为false:

$('#file').fileupload({
        url: upload_link_secure,
        type: 'PUT',
        multipart: false
    });
Run Code Online (Sandbox Code Playgroud)

之后,我收到此HTTP错误:

XMLHttpRequest cannot load https://1511632921.cloud.vimeo.com/upload?[...]. …
Run Code Online (Sandbox Code Playgroud)

php jquery file-upload put vimeo

6
推荐指数
1
解决办法
2239
查看次数

Vimeo内容安全策略错误 - 拒绝加载脚本

当我试图将视频从vimeo嵌入到我的网站时,我在chrome控制台中出错 -

拒绝加载脚本"的数据:应用程序/ JavaScript的; BASE64,dmFyIHVyY2hpblRyYWNrZXI9ZnVuY3Rpb24oKXt9 ... RUcmFja2VyQnlOYW1lOiBmdW5jdGlvbigpe190cmFja0V2ZW50OiBmdW5jdGlvbigpe319fTs =",因为它违反了以下内容安全政策指令:"脚本的src'自我’'不安全内联’ https://f.vimeocdn.com https://ssl.google-analytics.com https://js-agent.newrelic.com https://bam.nr-data.net https://f.vimeocdn.com ".

我在所有网站上都得到同样的错误,那就是包含vimeo播放器.例如 - https://player.vimeo.com/video/174560759

该错误导致我的javascript崩溃,后者与Vimeo播放器API进行通信.

也许有人知道,Vimeo有什么问题,以及我如何解决这个问题?

PS Firefox只是在控制台中向我显示警告,我的js运行良好.

embed video vimeo

6
推荐指数
1
解决办法
1087
查看次数

Vimeo视频自动播放在Safari 11中无效:NotAllowedError

自上次Safari更新到版本11以来,一些视频停止工作.最糟糕的是,有时候,就像五次尝试一次一样,它有效.我认为原因是我的JS脚本集成了Vimeo Player API,但最终甚至Vimeo的嵌入链接根本不起作用.

因此,当您在Safari 11中打开嵌入视频时,它将无法启动并完全阻止.你可以通过打开来看看它 https://player.vimeo.com/video/XXXXXXXX?autoplay=1

在控制台日志中,您可以获得以下内容:

Unhandled Promise Rejection: NotAllowedError (DOM Exception 35): The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission.

safari video vimeo autoplay

6
推荐指数
1
解决办法
7888
查看次数