gpt4 book ai didi

Cocoa:在 WebView 中单击 "Watch on YouTube"不会执行任何操作

转载 作者:行者123 更新时间:2023-12-03 16:15:26 28 4
gpt4 key购买 nike

我有一个 WebView,其中嵌入了 YouTube 视频。该视频播放正常,除了点击“在 Youtube 上观看”之外,所有内容均正常。

我希望使用“在 YouTube 上观看”按钮在默认浏览器上打开 YouTube 视频,但目前它没有执行任何操作。

我在 WebView 上设置了 WebPolicyDelegate,但两者都没有:

- (void)webView:(WebView *)webView 
decidePolicyForNavigationAction:(NSDictionary *)actionInformation
request:(NSURLRequest *)request
frame:(WebFrame *)frame
decisionListener:(id<WebPolicyDecisionListener>)listener`

也不:

- (void)webView:(WebView *)webView 
decidePolicyForNewWindowAction:(NSDictionary *)actionInformation
request:(NSURLRequest *)request
newFrameName:(NSString *)frameName
decisionListener:(id<WebPolicyDecisionListener>)listener

单击“在 YouTube 上观看”按钮时调用。

如何检测到“在 YouTube 上观看”按钮被点击,以便我可以在默认浏览器中打开它?

最佳答案

“在 YouTube 上观看”按钮在新选项卡/窗口中执行导航,因此您需要实现 WebUIDelegate-webView:createWebViewWithRequest: 方法。您必须从请求的 URL 推断该请求是否是由“在 YouTube 上观看”按钮发起的。一旦您知道了这一点,您就可以告诉默认浏览器打开 URL 并从您的委托(delegate)方法返回 nil 以告诉 WebKit 您不允许导航。

关于Cocoa:在 WebView 中单击 "Watch on YouTube"不会执行任何操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8947484/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com