Skip to content

MochaJSWebScriptingObject is a simple way for Mocha/CocoaScript scripts to expose functions to a WebView.

Notifications You must be signed in to change notification settings

matt-curtis/MochaJSWebScriptingObject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

MochaJSWebScriptingObject

What is it?

MochaJSWebScriptingObject is intended to be an simple way for Mocha CocoaScript scripts to expose functions to WebView. Originally written for use in Sketch 3+.

How do I use it?

The following example will create a WebView and expose a function to it:

@import 'MochaJSWebScriptingObject.js'

//  Create a WebView

var webView = WebView.new();

//  Expose functions

var webScriptingObject = MochaJSWebScriptingObject({
	demo: function(){
		var app = [NSApplication sharedApplication];
		[app displayDialog:"This is being called from a WebView! Cool!" withTitle:"Alert"];
	}
});

var windowScriptObject = webView.windowScriptObject();

windowScriptObject.setValue_forKey_(webScriptingObject, "exported");
windowScriptObject.evaluateWebScript_("exported.demo();");

How does it work?

MochaJSWebScriptingObject leverages Mocha's methods for manipulating the Objective-C runtime. It creates an NSObject complying with the WebScripting protocol and manages function exposure between CocoaScript -> Objective-C -> WebView.

About

MochaJSWebScriptingObject is a simple way for Mocha/CocoaScript scripts to expose functions to a WebView.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published