Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在iOS上嵌入vimeo和javascript api_Javascript_Ios_Api_Vimeo - Fatal编程技术网

在iOS上嵌入vimeo和javascript api

在iOS上嵌入vimeo和javascript api,javascript,ios,api,vimeo,Javascript,Ios,Api,Vimeo,我试图使用vimeo的javascript api()通过我的应用程序控制嵌入式视频,但我甚至无法让他们的示例工作() 我尝试下载fiddle使用的jquery和frogaloop Java脚本,并将它们复制到xcode中,我还确保将它们放在捆绑资源上,而不是像人们建议的那样编译源代码 在我的ViewController上,我有: NSString *path = [[NSBundle mainBundle] pathForResource:@"vimeo" ofType:@"html"]; N

我试图使用vimeo的javascript api()通过我的应用程序控制嵌入式视频,但我甚至无法让他们的示例工作()

我尝试下载fiddle使用的jquery和frogaloop Java脚本,并将它们复制到xcode中,我还确保将它们放在捆绑资源上,而不是像人们建议的那样编译源代码

在我的
ViewController
上,我有:

NSString *path = [[NSBundle mainBundle] pathForResource:@"vimeo" ofType:@"html"];
NSString *html = [[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];

[_webby loadHTMLString:html baseURL:[[NSBundle mainBundle] bundleURL]];
然后我的
vimeo.html
如下所示

<html>
<body>
<iframe id="player1" src="http://player.vimeo.com/video/27855315?api=1&player_id=player1" width="400" height="225" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>

<p>Video status: <span class="status">...</span></p>
<p><button>Play</button> <button>Pause</button></p>

<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="froogaloop2.min.js"></script>
<script type="text/javascript" src="player.js"></script>

</body>
文档还指出:“您需要在web服务器上运行,而不是直接在浏览器中打开文件。Flash和JS安全限制将阻止API在本地运行。”

不确定如何不直接用浏览器打开js,因为有人建议我尝试在我的
ViewController
上更改这一行:

[_webby loadHTMLString:html baseURL:[[NSBundle mainBundle] bundleURL]];
对这样的事情:

[_webby loadHTMLString:html baseURL:[NSURL URLWithString:@"http://player.vimeo.com/"]];

也不适合我。

我也有类似的问题。我能够做到这一点:

  • 您必须使用
    http://player.vimeo.com
    如您所述,否则它将无法工作

  • 我无法引用本地js文件。我不得不使用远程源。我的意思是:

    <script src="http://f.vimeocdn.com/js/froogaloop2.min.js"></script>
    
  • <script src="http://f.vimeocdn.com/js/froogaloop2.min.js"></script>
    
        var iframe = document.getElementById('player1');
        var player = $f(iframe);
    
        player.addEvent('ready', function()
        {
            sendNotification('onReady', '');
    
            player.addEvent('pause', onPause);
            player.addEvent('finish', onFinish);
            player.addEvent('playProgress', onPlayProgress);
        });
    
        function onPause(id)
        {
            sendNotification('onStateChange', 'paused');
        }
    
        function onFinish(id)
        {
            sendNotification('onStateChange', 'finished');
        }
    
        function onPlayProgress(data, id)
        {
            sendNotification('onPlayTime', data.seconds);
        }
    
        function sendNotification(action, data)
        {
            var message = {};
    
            message['action'] = action;
            message['data'] = data;
    
            window.webkit.messageHandlers.observe.postMessage(message);
        }