240 发简信
IP属地:浙江
  • OC写法:
    // 禁止选择CSS
    NSString *cssStr = @"body{-webkit-user-select:none;-webkit-user-drag:none;}";
    // CSS选中样式取消
    NSMutableString *jsStr = [NSMutableString stringWithString:@"var style = document.createElement('style');"];
    [jsStr appendString:@"style.type = 'text/css';"];
    [jsStr appendString:[NSString stringWithFormat:@"var cssContent = document.createTextNode('%@');", cssStr]];
    [jsStr appendString:@"style.appendChild(cssContent);"];
    [jsStr appendString:@"document.body.appendChild(style);"];
    // 禁止选择
    [jsStr appendString:@"document.documentElement.style.webkitUserSelect='none';"];
    // 禁止长按
    [jsStr appendString:@"document.documentElement.style.webkitTouchCallout='none';"];

    WKUserScript *userScript = [[WKUserScript alloc] initWithSource:jsStr injectionTime:WKUserScriptInjectionTimeAtDocumentEnd forMainFrameOnly:YES];
    WKUserContentController *userContentController = [[WKUserContentController alloc] init];
    [userContentController addUserScript:userScript];

    WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
    config.userContentController = userContentController;

    // 初始化WKWebView
    WKWebView *webView = [[WKWebView alloc] initWithFrame:self.view.bounds configuration:config];
    [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:self.fileUrl]]];
    [self.view addSubview:webView];

    WKWebView禁止UIMenuController

    在移动应用的开发中,不可避免的会使用到HTML页面,在iOS的开发中,用来展示网页的一般是UIWebView,在iOS 8.0之后,Apple提供了一个新的框架(WKWebV...

  • 120
    vue 移动端查看预览pdf文件

    我使用的是 vue-pdf,另外pdfjs-dist也可以实现(详情见下文)。 效果图: 需求: 报告查询页面需要点击查看本地pdf文件 环境:vue3+vant 实现步骤:...

  • Hibernate Validator 使用介绍

    1. Hibernate Validator 简介 平时项目中,难免需要对参数 进行一些参数正确性的校验,这些校验出现在业务代码中,让我们的业务代码显得臃肿,而且,频繁的编写...

  • 120
    为Xcode添加删除行、复制行快捷键

    在使用eclipse过程中,特喜欢删除一行和复制一行的的快捷键。而恰巧Xcode不支持这两个快捷键,再一次的恰巧让笔者发现了一个小窍门来增加这两个快捷键,以下是步骤: 修改权...

  • 120
    ContextLoaderListener解析

    每一个整合spring框架的项目中,总是不可避免地要在web.xml中加入这样一段配置。 而这段配置有什么作用,或者说ContextLoaderListener到底有什么作用...

  • mac 升级后配置 apache 到个人目录

    系统 从OS X Yosemate 10.10升级到 OS X Sierra 10.12 后之前配置 apache 和 php 均不能正常使用了,重新设置配置如下: 首先,查...

  • 120
    IntelliJ IDEA 2018 破解过程[详细步骤](Mac OS & Windows)

    推荐:文章开头顺便推荐一下本人开发的2个开源项目:1、使用Gradle构建,基于SpringCloud体系实现的完整微服务架构,采用Oauth2统一授权认证,支持Java、S...

  • 深入剖析ThreadLocal

    概述 本文首发于个人技术博客[Java并发包学习七]解密ThreadLocal 相信读者在网上也看了很多关于ThreadLocal的资料,很多博客都这样说:ThreadLoc...

  • JSP的内置对象

    Jsp的内置对象 什么是内置对象: 在jsp开发中,会频繁使用到一些对象, 例如HttpSession, ServletContext, ServletContext, H...

  • Java五道输出易错题解析(进来挑战下)

    收集了几个易错的或好玩的Java输出题,分享给大家,以后在编程学习中稍微注意下就OK了。 1. 看不见的空格? 下面的输出会正常吗? 解析:将上面代码复制下(不要自己手敲)在...

  • 小话java反射机制

    写作原因:Java反射注解这一块一直是笔者的盲区,但是Java系开发者都知道这一块的重要性。以熟悉的Android开发为例,通过利用反射注解大神们创造了可以减少大量重复赘余代...

  • 120
    Java面试相关(二)--堆和栈

    引言:看了网上一些作品,没有特别清晰的一个结构,所以,这里本人整理一下Java的堆栈相关知识。Java 中的堆和栈 Java把内存划分成两种:一种是栈内存,一种是堆内存。至于...

  • Java线程面试题

    下面是我自己收集整理的Java线程相关的面试题,可以用它来好好准备面试。 参考文档:-《Java核心技术 卷一》- Java线程面试题 Top 50:http://www.i...