Giter Club home page Giter Club logo

webviewjavascriptbridge's Introduction

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 = 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

webviewjavascriptbridge's People

Contributors

marcuswestin avatar psineur avatar sephiria avatar sergiocampama avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.