Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
This repository was archived by the owner on Jul 1, 2024. It is now read-only.

A standalone iOS class for sending messages to and from javascript in a UIWebView

License

Notifications You must be signed in to change notification settings

evertrue/WebViewJavascriptBridge

Open more actions menu
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
45 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WebViewJavascriptBridge

An iOS bridge for sending messages to and from javascript in a UIWebView

Getting started

Just open the Xcode project (requires Xcode > 4.2) and hit run to see the example application work.

Usage

See ExampleAppDelegate.* for example code. To use it in your own project:

  1. Copy Classes/WebViewJavascriptBridge.h and Classes/WebViewJavascriptBridge.m into your Xcode project

  2. Instantiate a UIWebView, a WebViewJavascriptBridge, and set yourself as the bridge's delegate

    #import <UIKit/UIKit.h> #import "WebViewJavascriptBridge.h"

    @interface ExampleAppDelegate : UIResponder <UIApplicationDelegate, WebViewJavascriptBridgeDelegate>

    @end

    @implementation ExampleAppDelegate

    • (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

      self.webView = [[UIWebView alloc] initWithFrame:self.window.bounds]; [self.window addSubview:webView]; self.javascriptBridge = [WebViewJavascriptBridge javascriptBridgeWithDelegate:self]; self.webView.delegate = self.javascriptBridge;

      [self.window makeKeyAndVisible]; return YES; }

    • (void)javascriptBridge:(WebViewJavascriptBridge *)bridge receivedMessage:(NSString *)message fromWebView:(UIWebView *)webView { NSLog(@"MyJavascriptBridgeDelegate received message: %@", message); }

    @end

  3. Go ahead and send some messages from Objc to javascript

    [self.javascriptBridge sendMessage:@"Well hello there" toWebView:self.webView];

  4. Finally, set up the javascript side of things

    document.addEventListener('WebViewJavascriptBridgeReady', function onBridgeReady() { WebViewJavascriptBridge.setMessageHandler(function(message) { alert('Received message: ' + message) }) WebViewJavascriptBridge.sendMessage('Hello from the javascript') }, false)

ARC

If you're using ARC in your project, add -fno-objc-arc as a compiler flag to the WebViewJavascriptBridge.m file.

Contributors

About

A standalone iOS class for sending messages to and from javascript in a UIWebView

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Objective-C 100.0%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.