Skip to content

Instantly share code, notes, and snippets.

@jakobo
Created November 22, 2010 05:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jakobo/709571 to your computer and use it in GitHub Desktop.
Save jakobo/709571 to your computer and use it in GitHub Desktop.
BLOG: Extensions in LinkedIn's JavaScript API
<script type="text/javascript" src="http://platform.linkedin.com/in.js">
api_key: api_key_123456
extensions: MyExtension@http://www.felocity.com/myextension.js
</script>
IN.Event.on(IN, "frameworkLoaded", function() {
// modifies IN.API.base to add a method that converts results to JSON
var IN_APIS_BASE = Sslac.definitionOf("IN.APIs.Base"),
construct = IN_APIS_BASE.getConstructor(),
handleSuccess = IN_APIS_BASE.getMethod("handleSuccessResults");
IN_APIS_BASE
.Constructor(function() {
construct.apply(this.arguments);
this.handlers.json = [];
})
.Method("json", function() {
this.addHandler(this.handlers.json, [].slice.apply(arguments));
this.get();
return this;
})
.Method("handleSuccessResults", function(results) {
// run and clear the json handlers
this.runHandler(this.handlers.json, JSON.stringify(results));
this.markHandlerAsRan(this.handlers.json);
// run original method
return handleSuccess.apply(this, arguments);
});
IN.ENV.js.extensions.MyExtension.loaded = true;
});
IN.Event.on(IN, "frameworkLoaded", function() {
// body of extension goes here
IN.ENV.js.extensions.MyExtension.loaded = true;
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment