- [iOS]解决使用WKScriptMessageHandler与JS交互时的内存泄露问题
流火绯瞳
在使用WKScriptMessageHandler与JS交互的时候会引起内存泄露,为了解决此问题,简单进行了封装,代码不多,直接给出:////LQ.swift//WKWebTest////CreatedbyArtron_LQQon2017/11/28.//Copyright©2017年Artup.Allrightsreserved.///*解决使用WKUserContentController实例
- iOS Native与JS通信:JSBridge
ilycyq
iosjavascript开发语言cocoaobjective-cxcode前端
文章目录一、简介二、JS调用Native1.使用URLSchemea.UIWebViewb.WKWebView2.使用JavaScriptCore(iOS7+)3.使用WKWebView和WKScriptMessageHandler(iOS8+)三、Native调用JS1.使用UIWebView2.使用WKWebView3.使用JavaScriptCore(iOS7+)一、简介对于移动应用程序的开
- IOS 设置UIViewController为背景半透明浮层弹窗,查看富文本图片详情
OKXLIN
ioshtmlWKWebViewOC富文本图片
使用场景:UIViewController1打开UIViewController2(背景半透明弹窗)案例:打开富文本网页图片的url查看图片详情WKWebViewWKNavigationDelegate代理方法设置js代码点击事件///注册添加图片标签点击js方法-(void)webView:(WKWebView*)webViewdidFinishNavigation:(WKNavigation*
- android与js交互系列文章(三) - js 调用 android
世道无情
1.js调用android使用场景有时候我们会有这样的需求:监听html中的一些事件,比如:点击html中的某个按钮,跳转到别的Activity、复制某段文本信息等等,这些都是就是js调用android的使用场景。js调用android一般有3种处理方式;2.js调用android的3种方式1>:通过webview的addJavascriptInterface(newJsInterface(),"
- WKWebView逐级返回
杏子_2fd0
最近需要对WKWebView加载的页面添加逐级返回功能,考虑了两种实现方案。第一种方案:直接打开WKWebView的滑动切换功能_webView.allowsBackForwardNavigationGestures=true:至此,当存在多级页面是,就可以左右滑动,实现逐级切换了第二中方案:禁用WKWebView的滑动切换功能_webView.allowsBackForwardNavigatio
- android与js交互系列文章(一) - 简介
世道无情
1.说明在我们开发过程中,有时候会有android与js互相调用,下边记录下什么叫android调用js,什么叫做js调用android;2.概念1>:android调用js其实就是webview调用js代码中的方法,并且带有返回值;2>:js调用android方法有时候我们需要监听html中控件的一些事件,比如点击html中的某个按钮,跳转到别人Activity;使用场景:a:js调用andro
- iOS 一个简单的基于WKWebView的进度导航
雪_晟
前言iOS8之后出现了WKWebView,占用内存少,通过WebKit可以和js交互。最重要是可以监测网页加载的进度,之前用UIWebView做的进度条都假象。代码WebKit中WebView交互被细化了,主要分为WKNavigationDelegate,WKUIDelegate,WKWebViewConfiguration。WKNavigationDelegate主要处理网页导航的一些协议。WK
- Swift与JS通过WKWebView互调
iOS祎
创建WKWebViewlazyvarwebView:WKWebView={//创建WKPreferencesletpreferences=WKPreferences()//开启jspreferences.javaScriptEnabled=true//创建WKWebViewConfigurationletconfiguration=WKWebViewConfiguration()//设置WKWeb
- WKWebVIew添加多个cookie
提灯走夜路
遍历添加多个cookie后台收到的cookie是都好隔开的,用他们的方法获取不到我这边设置的cookie,于是尝试自己拼接分号,后台可以拿到_urlString=[_urlStringdm_UTF8String];NSURL*url=[NSURLURLWithString:_urlString];NSMutableURLRequest*request=[NSMutableURLRequestreq
- iOS 原生wkwebview 与h5交互问题
无凡_9ea0
原生h5与wkwebview交互时回调失败的问题//添加注入js方法,oc与js端对应实现[config.userContentControlleraddScriptMessageHandler:selfname:@"collectSendKey"];//js端代码实现实例(此处为js端实现代码给大家粘出来示范的!!!)://window.webkit.messageHandlers.collec
- WkwebView 加载进度条过度动画
白色天空729
///进度条属性:internalvarprogress:UIProgressView=UIProgressView(progressViewStyle:UIProgressViewStyle.bar)overridefuncobserveValue(forKeyPathkeyPath:String?,ofobject:Any?,change:[NSKeyValueChangeKey:Any]?,
- 关于 由webView 转为WKWebView 会在加载完成后 多出一个灰色背景的问题
思绪飘零ing
如题在项目中改签webView为WKWebview的时候会在wkwebview加载完成后会出现一个灰色View;解决这个灰色view为clearcolorwebView.isOpaque=false但是我们发现在未加载的时候我们的self.View的背景颜色会先展示出来所以最后的方式是把这句话写的webView的视图加载完成的代理里面
- Object-c 和js交互所得
张小田
1、判断js是否包含某个函数functionrespondsToSel(sel){varisFunction=false;try{isFunction=typeof(eval(sel))=="function";}catch{}returnisFunction;}
- android与js交互系列文章(二) - android 调用 js
世道无情
1.android调用js方式android调用js有3种方法:1>:4.4以下:通过webview的loadUrl("javascript:sum(6,6)");2>:4.4以上:通过webview的evaluateJavascript("sumn(6,11)");3>:推荐使用混合方式:判断版本4.4以下、4.4以上;2.方式1需要注意的问题:1>:newJsInterface():这个是自己
- ios与html5交互 简书,IOS与H5交互(WKWebView)
技术型健身爱好者
ios与html5交互简书
先上H5代码未设置密码/忘记密码?点击我跳转链接function_password_jump(){varrd_type="password";if(isiOSPlatform()){varshopping_ios={name:"view_record",type:rd_type};window.webkit.messageHandlers.main_onItemClick.postMessage(
- iOS之WKWebView 的Cookie读取与注入 解决登录同步
羽裳有涯
开发个新项目,全部用web端,就原生的几个tabbar,于是选择了WKWebView,把遇到的问题总结下。WKWebView手势返回/*!@abstractABooleanvalueindicatingwhetherhorizontalswipegestureswilltriggerback-forwardlistnavigations.@discussionThedefaultvalueisNO
- WKWebView
woo_5857
WKWebView使用需要支持到网络////GNWebViewViewController.swift//Notes////Createdbyboniuon2021/7/13.//importUIKitimportWebKitclassGNWebViewViewController:UIViewController,WKNavigationDelegate{vartitleStr=""varloc
- iOS17使用safari调试wkwebview
xyccstudio
iOS开发safariwkwebview
isInspectable配置之前开发wkwebview的页面的时候一直使用safari调试,毕竟jssdk交互还是要用这个比较方便,虽说用一个脚本插件没问题。不过还是不太方便。但是这个功能突然到了iOS17之后发现不能用了,还以为又是苹果搞得bug,每次升级都有一些问题,可能要过一段时间才能修复。但是过了一段时间还是老样子,查了一下发现这个又是为了安全做的一层限制。。。先说配置方式。let_we
- WKWebView基本使用
SK丿希望
直接代码.h文件#import@interfaceHWGameDetailsWebViewController:UIViewController/***/@property(nonatomic,strong)NSURL*url;@end.m文件#import"HWGameDetailsWebViewController.h"#import@interfaceHWGameDetailsWebView
- wkwebview与原生控制器跳转的问题
幻如常
在原生控制器A中添加wkwebView,然后用该wkwebView加载H5页面,在H5内容中有一个跳转按钮btn,点击跳转按钮btn跳转到原生控制器B(viewController),然后再从B控制器pop回来时(即pop到A控制器),H5内容不见了,一片空白,有木有小伙伴遇到过?
- Swift与JS通过WKWebView互调
YungFan
创建WKWebViewlazyvarwebView:WKWebView={//创建WKPreferencesletpreferences=WKPreferences()//开启jspreferences.javaScriptEnabled=true//创建WKWebViewConfigurationletconfiguration=WKWebViewConfiguration()//设置WKWeb
- 使用WKWebview实现OC与JS的交互
见哥哥长高了
WKWebView是苹果公司在iOS8系统推出的,这里我们主要概述WebKit中更新的WKWebView控件的新特性与使用方法。一、WKWebView的代理方法1、WKNavigationDelegate该代理提供的方法,可以用来追踪加载过程(页面开始加载、加载完成、加载失败)、决定是否执行跳转。//页面开始加载时调用-(void)webView:(WKWebView*)webViewdidSta
- iOS WKWebview loadHTMLString文字图片正常显示
JohnayXiao
//话题网页内容CGFloatcontentW=XJ_ScreenWidth-20;CGFloatcontentX=10;NSString*jScript=@"varmeta=document.createElement('meta');meta.setAttribute('name','viewport');meta.setAttribute('content','width=device-wi
- 深入理解 WKWebView(基础篇)-- 探究 WebKit 缓存
大菠萝_DABLO
1.前言缓存可以减少冗余的数据传输,解决网络瓶颈问题,降低服务端压力,提升页面加载速度。高效利用缓存可大幅提升页面加载速度,提升用户的浏览体验。WKWebView使用缓存技术存储前后端资源,用户提高页面性能和用户体验。因为WKWebView的封闭性,我们无法针对原生WKWebView做较深度化的定制,但对于WebKit缓存源码的探究,将帮助我们更好的使用和理解缓存。本文将延续《iOS端webkit
- Android与Js交互之JSBridge的使用
itfitness
什么是JsBridgeJsBridge是js与Native之间进行通信的桥梁。为什么要使用JsBridgeAndroid4.2以下的addJavascriptInterface存在安全漏洞,虽然在Android4.2之后用@JavascriptInterface代替了addJavascriptInterface但是由于兼容性和安全性问题,基本上我们不会再利用Android系统为我们提供的addJa
- Swift - WKWebView
iOS分享
WKWebView加载页面importUIKitimportWebKitclassViewController:UIViewController{varwebView:WKWebView!varloadType:UISegmentedControl!overridefuncviewDidLoad(){super.viewDidLoad()loadType=UISegmentedControl(it
- Java 8 特性
小驴程序源
javawindows
Java8特性1:Lambda表达式2:方法引用构造器引用:静态方法引用:特定类的任意对象的方法引用:特定对象的方法引用:3:默认方法静态默认方法默认方法实例4:新工具jjsjjs交互式编程传递参数Java中调用JavaScriptJavaScript中调用Java5:StreamAPI−新添加的StreamAPI(java.util.stream)把真正的函数式编程风格引入到Java中。6:Da
- iOS-WKWebView跳转获取url标题title的两种方式
等不来的期待
我们在做需求的时候,肯定避免不了跳转H5页面,多个页面需要获取web页面的标题title,这就牵扯出来两种方法:1.我们常用的方法:WKWebView的代理方法://执行JS方法获取导航栏标题[webViewevaluateJavaScript:@"document.title"completionHandler:^(id_Nullabletitle,NSError*_Nullableerror)
- WKWebView获取UA以及更改UA的坑
地上的
最近有webView的相关需求,需要更改UA来适应我们的前端,但是又得保留原本的UA,所以不能直接覆盖,得追加字段,这个过程中WKWebView坑就比较多,列数一下。UIWebView更改UAUIWebView*webview=[[UIWebViewalloc]initWithFrame:CGRectZero];NSString*ua=[webviewstringByEvaluatingJavaS
- 2019-03-04 iOS 8/9 系统 使用WKWebview ,针对本地加载HTML代码问题(loadHTMLString:baseURL:)
Cocoa_Coder
编辑于2019-03-04iOS8/9系统使用WKWebview,针对本地加载HTML代码问题(loadHTMLString:baseURL:)问题:加载本地图片iOS10以后通过下面的代码可以解决加载本地图片NSString*path=[[NSBundlemainBundle]resourcePath];NSURL*baseURL=[NSURLfileURLWithPath:path];[sel
- 安装数据库首次应用
Array_06
javaoraclesql
可是为什么再一次失败之后就变成直接跳过那个要求
enter full pathname of java.exe的界面
这个java.exe是你的Oracle 11g安装目录中例如:【F:\app\chen\product\11.2.0\dbhome_1\jdk\jre\bin】下的java.exe 。不是你的电脑安装的java jdk下的java.exe!
注意第一次,使用SQL D
- Weblogic Server Console密码修改和遗忘解决方法
bijian1013
Welogic
在工作中一同事将Weblogic的console的密码忘记了,通过网上查询资料解决,实践整理了一下。
一.修改Console密码
打开weblogic控制台,安全领域 --> myrealm -->&n
- IllegalStateException: Cannot forward a response that is already committed
Cwind
javaServlets
对于初学者来说,一个常见的误解是:当调用 forward() 或者 sendRedirect() 时控制流将会自动跳出原函数。标题所示错误通常是基于此误解而引起的。 示例代码:
protected void doPost() {
if (someCondition) {
sendRedirect();
}
forward(); // Thi
- 基于流的装饰设计模式
木zi_鸣
设计模式
当想要对已有类的对象进行功能增强时,可以定义一个类,将已有对象传入,基于已有的功能,并提供加强功能。
自定义的类成为装饰类
模仿BufferedReader,对Reader进行包装,体现装饰设计模式
装饰类通常会通过构造方法接受被装饰的对象,并基于被装饰的对象功能,提供更强的功能。
装饰模式比继承灵活,避免继承臃肿,降低了类与类之间的关系
装饰类因为增强已有对象,具备的功能该
- Linux中的uniq命令
被触发
linux
Linux命令uniq的作用是过滤重复部分显示文件内容,这个命令读取输入文件,并比较相邻的行。在正常情 况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如 果输入文件用“- ”表示,则从标准输入读取。
AD:
uniq [选项] 文件
说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个
- 正则表达式Pattern
肆无忌惮_
Pattern
正则表达式是符合一定规则的表达式,用来专门操作字符串,对字符创进行匹配,切割,替换,获取。
例如,我们需要对QQ号码格式进行检验
规则是长度6~12位 不能0开头 只能是数字,我们可以一位一位进行比较,利用parseLong进行判断,或者是用正则表达式来匹配[1-9][0-9]{4,14} 或者 [1-9]\d{4,14}
&nbs
- Oracle高级查询之OVER (PARTITION BY ..)
知了ing
oraclesql
一、rank()/dense_rank() over(partition by ...order by ...)
现在客户有这样一个需求,查询每个部门工资最高的雇员的信息,相信有一定oracle应用知识的同学都能写出下面的SQL语句:
select e.ename, e.job, e.sal, e.deptno
from scott.emp e,
(se
- Python调试
矮蛋蛋
pythonpdb
原文地址:
http://blog.csdn.net/xuyuefei1988/article/details/19399137
1、下面网上收罗的资料初学者应该够用了,但对比IBM的Python 代码调试技巧:
IBM:包括 pdb 模块、利用 PyDev 和 Eclipse 集成进行调试、PyCharm 以及 Debug 日志进行调试:
http://www.ibm.com/d
- webservice传递自定义对象时函数为空,以及boolean不对应的问题
alleni123
webservice
今天在客户端调用方法
NodeStatus status=iservice.getNodeStatus().
结果NodeStatus的属性都是null。
进行debug之后,发现服务器端返回的确实是有值的对象。
后来发现原来是因为在客户端,NodeStatus的setter全部被我删除了。
本来是因为逻辑上不需要在客户端使用setter, 结果改了之后竟然不能获取带属性值的
- java如何干掉指针,又如何巧妙的通过引用来操作指针————>说的就是java指针
百合不是茶
C语言的强大在于可以直接操作指针的地址,通过改变指针的地址指向来达到更改地址的目的,又是由于c语言的指针过于强大,初学者很难掌握, java的出现解决了c,c++中指针的问题 java将指针封装在底层,开发人员是不能够去操作指针的地址,但是可以通过引用来间接的操作:
定义一个指针p来指向a的地址(&是地址符号):
- Eclipse打不开,提示“An error has occurred.See the log file ***/.log”
bijian1013
eclipse
打开eclipse工作目录的\.metadata\.log文件,发现如下错误:
!ENTRY org.eclipse.osgi 4 0 2012-09-10 09:28:57.139
!MESSAGE Application error
!STACK 1
java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContai
- spring aop实例annotation方法实现
bijian1013
javaspringAOPannotation
在spring aop实例中我们通过配置xml文件来实现AOP,这里学习使用annotation来实现,使用annotation其实就是指明具体的aspect,pointcut和advice。1.申明一个切面(用一个类来实现)在这个切面里,包括了advice和pointcut
AdviceMethods.jav
- [Velocity一]Velocity语法基础入门
bit1129
velocity
用户和开发人员参考文档
http://velocity.apache.org/engine/releases/velocity-1.7/developer-guide.html
注释
1.行级注释##
2.多行注释#* *#
变量定义
使用$开头的字符串是变量定义,例如$var1, $var2,
赋值
使用#set为变量赋值,例
- 【Kafka十一】关于Kafka的副本管理
bit1129
kafka
1. 关于request.required.acks
request.required.acks控制者Producer写请求的什么时候可以确认写成功,默认是0,
0表示即不进行确认即返回。
1表示Leader写成功即返回,此时还没有进行写数据同步到其它Follower Partition中
-1表示根据指定的最少Partition确认后才返回,这个在
Th
- lua统计nginx内部变量数据
ronin47
lua nginx 统计
server {
listen 80;
server_name photo.domain.com;
location /{set $str $uri;
content_by_lua '
local url = ngx.var.uri
local res = ngx.location.capture(
- java-11.二叉树中节点的最大距离
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
public class MaxLenInBinTree {
/*
a. 1
/ \
2 3
/ \ / \
4 5 6 7
max=4 pass "root"
- Netty源码学习-ReadTimeoutHandler
bylijinnan
javanetty
ReadTimeoutHandler的实现思路:
开启一个定时任务,如果在指定时间内没有接收到消息,则抛出ReadTimeoutException
这个异常的捕获,在开发中,交给跟在ReadTimeoutHandler后面的ChannelHandler,例如
private final ChannelHandler timeoutHandler =
new ReadTim
- jquery验证上传文件样式及大小(好用)
cngolon
文件上传jquery验证
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="jquery1.8/jquery-1.8.0.
- 浏览器兼容【转】
cuishikuan
css浏览器IE
浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同
问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。
碰到频率:100%
解决方案:CSS里 *{margin:0;padding:0;}
备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
daizj
shell$#$?特殊变量
前面已经讲到,变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。例如,$ 表示当前Shell进程的ID,即pid,看下面的代码:
$echo $$
运行结果
29949
特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个
- 程序设计KISS 原则-------KEEP IT SIMPLE, STUPID!
dcj3sjt126com
unix
翻到一本书,讲到编程一般原则是kiss:Keep It Simple, Stupid.对这个原则深有体会,其实不仅编程如此,而且系统架构也是如此。
KEEP IT SIMPLE, STUPID! 编写只做一件事情,并且要做好的程序;编写可以在一起工作的程序,编写处理文本流的程序,因为这是通用的接口。这就是UNIX哲学.所有的哲学真 正的浓缩为一个铁一样的定律,高明的工程师的神圣的“KISS 原
- android Activity间List传值
dcj3sjt126com
Activity
第一个Activity:
import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import a
- tomcat 设置java虚拟机内存
eksliang
tomcat 内存设置
转载请出自出处:http://eksliang.iteye.com/blog/2117772
http://eksliang.iteye.com/
常见的内存溢出有以下两种:
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: Java heap space
------------
- Android 数据库事务处理
gqdy365
android
使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果程序执行到endTransaction()之前调用了setTransactionSuccessful() 方法设置事务的标志为成功则提交事务,如果没有调用setTransactionSuccessful() 方法则回滚事务。事
- Java 打开浏览器
hw1287789687
打开网址open浏览器open browser打开url打开浏览器
使用java 语言如何打开浏览器呢?
我们先研究下在cmd窗口中,如何打开网址
使用IE 打开
D:\software\bin>cmd /c start iexplore http://hw1287789687.iteye.com/blog/2153709
使用火狐打开
D:\software\bin>cmd /c start firefox http://hw1287789
- ReplaceGoogleCDN:将 Google CDN 替换为国内的 Chrome 插件
justjavac
chromeGooglegoogle apichrome插件
Chrome Web Store 安装地址: https://chrome.google.com/webstore/detail/replace-google-cdn/kpampjmfiopfpkkepbllemkibefkiice
由于众所周知的原因,只需替换一个域名就可以继续使用Google提供的前端公共库了。 同样,通过script标记引用这些资源,让网站访问速度瞬间提速吧
- 进程VS.线程
m635674608
线程
资料来源:
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001397567993007df355a3394da48f0bf14960f0c78753f000 1、Apache最早就是采用多进程模式 2、IIS服务器默认采用多线程模式 3、多进程优缺点 优点:
多进程模式最大
- Linux下安装MemCached
字符串
memcached
前提准备:1. MemCached目前最新版本为:1.4.22,可以从官网下载到。2. MemCached依赖libevent,因此在安装MemCached之前需要先安装libevent。2.1 运行下面命令,查看系统是否已安装libevent。[root@SecurityCheck ~]# rpm -qa|grep libevent libevent-headers-1.4.13-4.el6.n
- java设计模式之--jdk动态代理(实现aop编程)
Supanccy2013
javaDAO设计模式AOP
与静态代理类对照的是动态代理类,动态代理类的字节码在程序运行时由Java反射机制动态生成,无需程序员手工编写它的源代码。动态代理类不仅简化了编程工作,而且提高了软件系统的可扩展性,因为Java 反射机制可以生成任意类型的动态代理类。java.lang.reflect 包中的Proxy类和InvocationHandler 接口提供了生成动态代理类的能力。
&
- Spring 4.2新特性-对java8默认方法(default method)定义Bean的支持
wiselyman
spring 4
2.1 默认方法(default method)
java8引入了一个default medthod;
用来扩展已有的接口,在对已有接口的使用不产生任何影响的情况下,添加扩展
使用default关键字
Spring 4.2支持加载在默认方法里声明的bean
2.2
将要被声明成bean的类
public class DemoService {