Latest 1.5.0
Homepage https://github.com/LQi2009/LQWebView
License MIT
Platforms ios 9.0, requires ARC
Authors

对WKWebView 的封装,继承自UIView,方便使用!

添加

手动

可直接将项目目录下的 ‘LQWebView’ 文件夹拖入项目使用

Cocoapods

在Pidfile文件添加

pod 'LQWebView'

Swift版本

pod 'LQWebView/SF'

使用

使用简单,只需要创建/添加到视图即可:

LQWebView *web = [[LQWebView alloc]initWithFrame:self.view.bounds];
[self.view addSubview:web];

然后,调用相应的方法,加载URL:

加载网络URL
/**
 加载网络URL(无参数)

 @param urlString URL地址
 */
- (void) loadURLString:(NSString *)urlString ;

/**
 加载网络URL(带参数),拼接在URL后

 @param urlStr URL地址
 @param param 参数(参数名称为key,参数内容为value)
 */
- (void) loadUrlString:(NSString *)urlStr params:(NSDictionary *)param ;
- (void) loadURL:(NSURL *)url ;

使用:

[web loadURLString:@"http://www.baidu.com"];
加载本地URL
/**
 加载本地HTML文件

 @param file html文件名
 */
- (void) loadLocalFile:(NSString *)file ;

/**
 加载本地的html文件(蓝色文件夹)

 @param path 文件在文件夹内的相对路径(包含文件夹名称)
 @param ext 扩展字段,比如链接中拼接的子路径/参数等
 */

- (void) loadLocalFilePath:(NSString *)path withExtension:(NSString *)ext ;
代理

加载情况的回调,使用代理来实现:

- (void) webViewStartLoad:(LQWebView *) webView ;

- (void) webViewLoadSuccess:(LQWebView *) webView ;

- (void) webView:(LQWebView *) webView loadFailed:(NSError *) error ;
调用JavaScript方法

调用JS的方法,我这里提供了两种:

/**
 添加需要执行的JS方法

 @param methodName JS 方法名称
 @param param 参数(会转换为Json传递)
 */
- (void) addJavaScriptMethod:(NSString *)methodName param:(NSDictionary *)param ;

/**
 添加需要执行的JS方法
 (携带多个参数的方法,单个参数可使用 ‘addJavaScriptMethod: param:’)

 @param methodName JS 方法名称
 @param params 多个参数(参数值)
 */
- (void) addJavaScriptMethod:(NSString *)methodName params:(NSArray *) params ;

区别只是携带参数方式不同,如果不需要参数,可直接传nil;

执行JavaScript代码

如果需要执行一段JS代码,可直接使用下面的方法:

/**
 添加需要执行的JS代码

 @param js js 代码
 */
- (void) addJavaScript:(NSString *) js ;
- (void) addUserScript:(NSString *)js ;
观察标题/加载进度变化
/**
 添加属性观察者,常用的为title,加载进度

 @param handler 回调
 */
- (void) addProgressObserverWithHandler:(LQWebViewScriptMessageHandler) handler ;
- (void) addTitleObserverWithHandler:(LQWebViewScriptMessageHandler) handler ;
提供原生协议方法供JS调用

如果需要和JS进行交互,可使用下面的方法,将约定的协议方法名称注入到JS中:

/**
 注入JS需要调用的原生协议

 @param name 与H5商定的协议名称
 @param handler 当H5调用该协议方法时的回调
 */
- (void) addScriptMessageHandler:(NSString *)name handler:(LQWebViewScriptMessageHandler) handler ;

Latest podspec

{
    "name": "LQWebView",
    "version": "1.5.0",
    "summary": "u5bf9WKWebView u7684u5c01u88c5uff0cu7ee7u627fu81eaUIView",
    "description": "u5bf9WKWebView u7684u5c01u88c5uff0cu7ee7u627fu81eaUIViewuff0cu5c01u88c5u4e86u5e38u7528u65b9u6cd5uff0cu65b9u4fbfu4f7fu7528uff01",
    "homepage": "https://github.com/LQi2009/LQWebView",
    "license": "MIT",
    "authors": {
        "LiuQiqiang": "[email protected]"
    },
    "platforms": {
        "ios": "9.0"
    },
    "source": {
        "git": "https://github.com/LQi2009/LQWebView.git",
        "tag": "1.5.0"
    },
    "requires_arc": true,
    "default_subspecs": "OBJ",
    "swift_version": "4.1",
    "subspecs": [
        {
            "name": "OBJ",
            "source_files": [
                "LQWebView",
                "LQWebView/obj/**/*.{h,m}"
            ]
        },
        {
            "name": "SF",
            "source_files": [
                "LQWebView",
                "LQWebView/sf/**/*.{swift}"
            ]
        }
    ]
}

Pin It on Pinterest

Share This