在iOS上嵌入vimeo和javascript api
我试图使用vimeo的javascript api()通过我的应用程序控制嵌入式视频,但我甚至无法让他们的示例工作() 我尝试下载fiddle使用的jquery和frogaloop Java脚本,并将它们复制到xcode中,我还确保将它们放在捆绑资源上,而不是像人们建议的那样编译源代码 在我的在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
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
如您所述,否则它将无法工作<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);
}