嵌入YouTube视频iframe无法在iOS Webview中使用分页功能

时间:2014-09-07 17:21:59

标签: ios iphone iframe uiwebview youtube-api

我正在使用启用了分页的UIWebview(从左到右模式)。我有一个html内容,其中包含超过3页的内容(在iPhone 5中),其中包含图像和视频(iframe以嵌入youtube视频)标签。我的问题是当iframe标签在其他页面(第一页除外)时youtube视频没有播放,但在分页处于从上到下模式时工作正常。

例如:我有3页html内容,其中一个图片和一个youtube视频在webview中,在LeftToRightMode中有分页。如果iframe被放置在第一个html页面中,视频工作正常(我只有一个html文件,因为webview分页已启用,html内容分为3页)但是当它放在第二页或第三页时它不响应/播放。如果webview分页模式在TopToBottomMode中,我可以在任何页面播放视频(我只尝试过LeftToRight和TopToBottom模式)。

//设置Webview

-(void)loadHtmlContentsFromFile {

NSString *htmlContents = [[NSString alloc] initWithContentsOfFile:filePath   encoding:NSUTF8StringEncoding error:nil];
self.webView.paginationMode = UIWebPaginationModeLeftToRight;
self.webView.paginationBreakingMode = UIWebPaginationBreakingModePage;
self.webView.gapBetweenPages = 0;
self.webView.scrollView.pagingEnabled = YES;
self.webView.scrollView.bounces = NO;
[self.webView setAllowsInlineMediaPlayback:YES];
[self.webView setMediaPlaybackRequiresUserAction:NO];
[self.webView loadHTMLString:htmlContents baseURL:baseUrl];    
htmlContents = nil;
baseUrl = nil;
}

//放置在第二页的HTML5内容,iframe标记(根据webview分页)在UIWebPaginationModeLeftToRight分页模式下不起作用

<html>
<body>
    <p>
    1 Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod     tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.</p>

<p style="text-align: center;">
    <img alt="Lorem Ipsum" src="some_image.jpg" style="width: 200px; height: 200px; border-width: 2px; border-style: solid; margin: 2px;" /></p>

    <p>
2 Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. </p>
    <p style="text-align: center; margin: 0px;">
    <iframe class="youtube-player" type="text/html" width="300" height="169" src="http://www.youtube.com/embed/VIDEO_ID" allowfullscreen frameborder="10">
    </iframe>
    </p>
<p>
    Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiudaLorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.</p>

    <p>
    3 Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.</p>
</body>
</html>

那为什么呢?如何使用LeftToRightMode在uiwebview中播放youtube视频?!

感谢。

0 个答案:

没有答案