Naituw/WBWebViewConsole

In-App debug console for your UIWebView & WKWebView

Objective-C

1,322

47 commits

updated Aug 8, 2017

See the code

README

WBWebViewConsole Build Status

WBWebViewConsole is an In-App debug console for your UIWebView && WKWebView

WBWebViewConsole

Installation

WBWebViewConsole is available on CocoaPods. Just add the following to your project Podfile:

pod 'WBWebViewConsole', '~> 1.0' 

Bugs are first fixed in master and then made available via a designated release. If you tend to live on the bleeding edge, you can use WBWebViewConsole from master with the following Podfile entry:

pod 'WBWebViewConsole', :git => 'https://github.com/Naituw/WBWebViewConsole.git'

Setup

  • Make your own UIWebView or WKWebView subclass, and implement all methods in WBWebView protocol
  • Setup JSBridge and console when WebView inits
  • If you are using UIWebView, inject userScript as early as possible after page loading. Otherwise, just use WKUserScript to implement.
  • In UIWebView's webView:shouldStartLoadWithRequest:navigationType or WKWebView's webView:decidePolicyForNavigationAction:decisionHandler
    • Pass the request to -[JSBridge handleWebViewRequest:] and use the return value to decide whether the navigation should start

Usage

  • Use WBWebViewConsole to manage all messages
    • addMessage:type:level:source:
      • add message for specific type, level and source
    • clearMessage
      • empty all messages
    • sendMessage
      • input (eval) script
    • storeCurrentSelectedElementToJavaScriptVariable:completion:
      • save current selected element to a js variable
  • Use WBWebDebugConsoleViewController to display a WBWebViewConsole
    • initWithConsole:
      • designated initializer for this class
    • setInitialCommand:
      • set the placeholder command

License

WBWebViewConsole is BSD-licensed. see the LICENSE file.

The files in the /Examples directory are licensed under a separate license as specified in Examples/README.md.

Naituw/WBWebViewConsole

In-App debug console for your UIWebView & WKWebView

Objective-C

1,322

47 commits

updated Aug 8, 2017

See the code

README

WBWebViewConsole Build Status

WBWebViewConsole is an In-App debug console for your UIWebView && WKWebView

WBWebViewConsole

Installation

WBWebViewConsole is available on CocoaPods. Just add the following to your project Podfile:

pod 'WBWebViewConsole', '~> 1.0' 

Bugs are first fixed in master and then made available via a designated release. If you tend to live on the bleeding edge, you can use WBWebViewConsole from master with the following Podfile entry:

pod 'WBWebViewConsole', :git => 'https://github.com/Naituw/WBWebViewConsole.git'

Setup

  • Make your own UIWebView or WKWebView subclass, and implement all methods in WBWebView protocol
  • Setup JSBridge and console when WebView inits
  • If you are using UIWebView, inject userScript as early as possible after page loading. Otherwise, just use WKUserScript to implement.
  • In UIWebView's webView:shouldStartLoadWithRequest:navigationType or WKWebView's webView:decidePolicyForNavigationAction:decisionHandler
    • Pass the request to -[JSBridge handleWebViewRequest:] and use the return value to decide whether the navigation should start

Usage

  • Use WBWebViewConsole to manage all messages
    • addMessage:type:level:source:
      • add message for specific type, level and source
    • clearMessage
      • empty all messages
    • sendMessage
      • input (eval) script
    • storeCurrentSelectedElementToJavaScriptVariable:completion:
      • save current selected element to a js variable
  • Use WBWebDebugConsoleViewController to display a WBWebViewConsole
    • initWithConsole:
      • designated initializer for this class
    • setInitialCommand:
      • set the placeholder command

License

WBWebViewConsole is BSD-licensed. see the LICENSE file.

The files in the /Examples directory are licensed under a separate license as specified in Examples/README.md.

Significant stargazers

Bo Anderson

186 followers · starred Feb 2015

Ben Gordon

211 followers · starred Mar 2015