【问题标题】:Disable hyperlinks in UIWebView禁用 UIWebView 中的超链接
【发布时间】:2014-07-26 04:46:20
【问题描述】:

我想在加载初始页面后禁用 UIWebVIew 中的超链接,而不禁用滚动功能。也就是说,我应该启用用户交互。

【问题讨论】:

    标签: iphone uiwebview


    【解决方案1】:

    您可以像这样使用webView shouldStartLoadWithRequest

        (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
        {
    
                NSURL *loadURL = [[request URL]retain];
                //change next line to whatever condition you need, e.g.
                //[[loadURL relativeString]  ....] contains a certain substring 
                //or starts with certain letter or ...
                if([[loadURL scheme] isEqualToString: @"file"])
                {
                   [loadURL release]; 
                return TRUE;
                }
                [loadURL release];
                return FALSE;
        }
    

    您还必须将 webViews 委托设置为实现此方法的类的对象:[webView setDelegate:my...];

    通过上面的实现,除了条件为真的那些之外,不会加载任何 url。至少对于第一个站点的 url,它必须是真实的。上面的代码适用于最初加载文件内容的 Web 视图,仅包含指向“http://”或“https://”或...的链接。

    【讨论】:

    • 这可以缩短为一行...返回 [request.URL.scheme isEqualToString: @"file"] (或任何标准:D)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-11
    • 2017-10-18
    相关资源
    最近更新 更多