Naituw / Wbwebviewconsole
Licence: other
In-App debug console for your UIWebView & WKWebView
Stars: ✭ 1,327
WBWebViewConsole
WBWebViewConsole is an In-App debug console for your UIWebView && WKWebView
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
orWKWebView
subclass, and implement all methods inWBWebView
protocol - Setup
JSBridge
andconsole
when WebView inits - If you are using
UIWebView
, inject userScript as early as possible after page loading. Otherwise, just useWKUserScript
to implement. - In
UIWebView
'swebView:shouldStartLoadWithRequest:navigationType
orWKWebView
'swebView:decidePolicyForNavigationAction:decisionHandler
- Pass the request to
-[JSBridge handleWebViewRequest:]
and use the return value to decide whether the navigation should start
- Pass the request to
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 aWBWebViewConsole
-
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
.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].