2012-03-26 25 views
5

Tôi đang sử dụng PhoneGap/Cordova 1.5.0, đây là trang HTML của tôi:Embedded Vimeo video sẽ không chơi trong một ứng dụng PhoneGap, nhưng cùng một HTML hoạt động mà không PhoneGap

<html> 
<head></head> 
<body> 
<iframe src="http://player.vimeo.com/video/38799240?title=0&amp;byline=0&amp;portrait=0" width="400" height="225" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe> 
</body> 
</html> 

Sử dụng Motorola Droid 2 với Đã cài đặt hệ điều hành Android 2.3.3, nếu tôi kéo trang HTML này lên trong trình duyệt bình thường, tôi có thể phát video như mong đợi.

Nhưng, nếu tôi đặt HTML đó làm trang index.html trong dự án PhoneGap, tôi có thể xem hình thu nhỏ của video và nút phát, nhưng nhấn vào nút đó chỉ chuyển nút phát sang trình quay trong giây và video không chơi.

Tôi tìm thấy một vài bài viết mà làm cho nó âm thanh như nó là một vấn đề truy xuất nguồn gốc, một số nói rằng bạn có thể sử dụng một ký tự đại diện như *, những người khác nói nó giống như một regex perl, vì vậy bạn sử dụng một wildstar regex, ví dụ: .*, tôi đã thử nhiều phiên bản trong tệp res/xml/cordova.xml của tôi như:

<access origin="http://127.0.0.1*"/> 
<access origin="http://player.vimeo.com*"/> 
<access origin="http://*.vimeocdn.com*" /> 
<access origin="http://*.vimeo.com*" /> 
<access origin="http://vimeo.com*" /> 

Điều này dường như không có tác dụng.

Tôi chưa thử nghiệm điều này trong môi trường iPhone PhoneGap.

Cảm ơn!

+0

Thử đặt 'http: // *' và nếu nó hoạt động, bạn có thể khá tự tin rằng đó là vấn đề nguồn gốc truy cập. – joshuahealy

+1

Nhưng có lẽ không phải là một ý kiến ​​hay khi bỏ 'http: // *' trong đó, cố gắng tìm ra các url chính xác mà bạn cần có trong đó. – joshuahealy

+0

@appclay Đã thử 'http: // *' và 'http: //.*', không có súc sắc. Cám ơn vì sự gợi ý. –

Trả lời

0

bạn không thể bao gồm video bên ngoài (vimeo/youtube) trong điện thoại như thế. bạn cần phải trỏ đến video thực sự hoặc chỉ cần mở video bạn đã có trong trình duyệt con (sử dụng hình ảnh có videostill làm trình kích hoạt sẽ đẹp).

0

Tôi có thể phát video Vimeo bằng thẻ iFrame trong ứng dụng iOS của mình, cũng dựa trên điện thoại. Tôi đang sử dụng Phonegap 3.2.0 tại đây. Dưới đây là mã tôi đang sử dụng

NSString* embedHTML = @"<html><head>\ 
<style type=\"text/css\">\body {\background-color: #000000;\ 
color: white;}</style></head><body style=\"margin:0\">\ 
<iframe width=\"512\" height=\"374\" src=\"http://player.vimeo.com/video/60331941\" frameborder=\"0\" allowfullscreen></iframe></body></html>"; 

NSString* html = [NSString stringWithFormat:embedHTML, urlVideo]; 

[customWebView loadHTMLString:html baseURL:nil]; 

Tôi có các danh sách trắng bên dưới url trong tệp config.xml của mình.

<access origin="*.vimeo.com" /> 
<access origin="*.vimeocdn.com" /> 

Tôi đã viết mã này bên trong lớp plugin điện thoại. Vì vậy, tôi có thể viết mã mục tiêu C ở đây. Nhưng điều tương tự cũng có thể được thực hiện trong tệp html.

Hy vọng nó sẽ giúp theo một cách nào đó !!

Các vấn đề liên quan