0

我已经从服务器加载了一个 HTML 文件并将其显示在UIWebview其中,其中包含OnClick该文件中的一个函数,当用户 OnClicks 时,我将获得一个视频 URL。我想在iOS videoplayer中打开该视频网址。我怎样才能做到这一点?请帮我。

4

2 回答 2

5

如果您有一个 javascript 函数,该函数在单击“获取视频 URL”按钮时返回 URL,如下所示:

function getVideoURL() {
  // do processing to fetch the actual video URL here

  window.location = "http://www.domain.com/videos/1";
}

并且按钮处理程序设置为如下所示:

<a target="_blank" href="javascript:getVideoURL();" class="btn-image GetVideo">&#32;</a>

那么您必须在视图控制器类中为 UIWebView 的以下委托方法提供实现:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 

在此之后,您可以使用 java 脚本请求中的相对路径

 request.mainDocumentURL.relativePath

在委托中引用从 Java 脚本方法返回的 URL。您可以使用获取的 URL 打开 iOS 视频播放器并播放视频,如下所示:

MPMoviePlayerController* moviePlayer=[[MPMoviePlayerController alloc]initWithContentURL:[NSURL URLWithString: strurl]];
moviePlayer.fullscreen = YES;  
[moviePlayer play];  
于 2013-04-01T09:36:39.373 回答
0

您可以使用stringByEvaluatingJavaScriptFromString.

但是我们需要知道具体的onClick功能是什么?它是否直接返回视频URL?或者它会修改 HMTL 以显示该视频 URL?

如果直接返回 videoURL:

NSString *videoURL = [webView stringByEvaluatingJavaScriptFromString:@"document.getElementById("yourElementID").click();"];

如果没有,则需要在调用 onClick 函数后解析 videoURL 的 HTML。

于 2013-04-01T08:15:22.783 回答