iphone - 禁用 UIWebView 中的超链接

标签 iphone uiwebview

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

最佳答案

您可以使用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 委托(delegate)设置为实现此方法的类的对象:[webView setDelegate:my...];

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

关于iphone - 禁用 UIWebView 中的超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1783074/

相关文章:

iphone - ios - 每次应用程序 :openURL:sourceapplication is fired, iCloud 备份大小增加

iphone - 从核心数据查询 NSDate 对象

iphone - 当我在加载 WebView 时按回导航栏时,我的应用程序崩溃了......?

ios - 阻止用户选择 UIWebView 页面上的链接

javascript - 使用 javascript :window. close() 关闭 UIWebView;

ios - 获取 UISplitViewController 的 masterview Controller 的显示隐藏事件

iphone - 如何安排一个方法在延迟后运行

ios - 使用带有 ADFS 的系统登录 iOS 应用程序

ios - 在IOS中如何让webView适配指定的UIView?

iphone - 索引处的对象更新整个 nsmutablearray