IP Library Granted Patent US 8,510,378
Granted Patent B2
US 8,510,378 · App. 13/610,710 · Granted Aug 13, 2013

System and method for auto-generating JavaScript

Inventors: Paul Colton (Hillsborough, CA); Uri Sarid (Menlo Park, CA); Kevin Edward Lindsey (Benbrook, TX)
Assignee: Appcelerator, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,510,378
App. No.
13/610,710
Granted
Aug 13, 2013
Kind
B2
Abstract

A method, system, Web-environment and computer program product for automatically generating proxies and meta-proxies for script code in an HTML document. The invention preferably operates with a system that allows for JavaScript to be utilized on the server-side.

Claims (33)

1. A method for automatically generating meta-proxies in a hypertext mark up language (HTML) document, the method comprising:

receiving the HTML document at a server-core on a server-side of a network;

parsing and executing the HTML document at the server-core to create and populate a document object model (DOM) of the HTML document, wherein the DOM includes code comprising at least one client-callable function configured to be executed on the server-side of the network;

modifying the DOM at a server-framework on the server-side by generating a meta-proxy for each of the client-callable functions of the code plurality of meta-proxy that automatically replaces the respective client-callable function of the HTML document, the modification of the DOM creating a modified DOM;

serializing the modified DOM as a modified HTML document at the server-core; streaming the modified HTML document to a browser on a client-side of a network;

receiving on the server-side an extended markup language (XML) HTTP request comprising the meta-proxy;

restoring the respective client callable function corresponding to the meta-proxy; obtaining a result for the respective client-callable function; and

transmitting the result to the client-side.

2. The method according to claim 1 further comprising: injecting into the client-side page a second meta-proxy code with a different name.

3. The method according to claim 2 wherein the second meta-proxy code is for asynchronous calls.

4. The method according to claim 1 wherein the code is JavaScript code.

5. The method according to claim 1 wherein the client-side event is the arrival of the meta-proxy code on the client-side.

6. The method of claim 5 wherein the respective client callable function is configured to receive one or more function inputs, wherein the meta-proxy corresponding to the respective client-callable function is configured to receive one or more meta-proxy inputs corresponding to the one or more function inputs, and wherein the XML hyper text transfer protocol (HTTP) request comprises the one or more meta-proxy inputs.

7. The method of claim 6 further comprising:

serializing the one or more meta-proxy inputs on the client-side;

deserializing the one or more meta-proxy inputs on the server-side; and

providing the one or more meta-proxy inputs to the respective client-callable function as the one or more function inputs.

8. The method of claim 1 wherein the result comprises an indication that the respective client-callable function has executed.

9. The method of claim 1 further comprising:

obtaining a plurality of results for the respective client-callable function; and

transmitting the plurality of results to the client-side.

10. The method of claim 1 further comprising:

serializing the result into Java script object notation (JSON) to create meta-proxy data, wherein the step of transmitting the result to the client-side comprises transmitting the meta-proxy data to the client-side as the result.

11. A method for automatically generating proxies in an hypertext mark up language (HTML) document, the method comprising:

parsing and executing the HTML document at a server-core on a server-side to create and populate a document object model (DOM) of the HTML document, the HTML document comprising a first code operable on the server-side and callable from a client-side;

modifying the DOM of the HTML document by a server-framework on the server-side to remove the first code operable on the server-side and inject a first proxy code for the first code and a second proxy code for the first code to create a modified DOM, wherein the second proxy code is configured to allow a client-side to request execution of the first code on the server-side;

serializing the modified DOM into a modified HTML document at the server-code of the server-side; and

streaming the modified HTML document to the client-side.

12. The method of claim 11 wherein the second proxy code is for asynchronous calls.

13. The method of claim 11 wherein the code comprises JavaScript.

14. The method of claim 11 wherein the first proxy code is configured to allow the client-side to request execution of the first code on the server-side.

15. The method of claim 11 wherein the client-side request to execute the first code on the server-side comprises an asynchronous call.

16. The method of claim 11 wherein the second proxy code is configured to allow the client-side to request execution of the first code on the server-side without reloading the modified HTML document.

Assignments (2)
SECURITY INTEREST Recorded Aug 27, 2015
From: APPCELERATOR, INC.
To: SILICON VALLEY BANK
Reel/Frame 036442/0008 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2012
From: COLTON, PAUL; SARID, URI; LINDSEY, KEVIN EDWARD
To: APPCELERATOR, INC.
Reel/Frame 028943/0686 →
Continuity (4)
Continuation 12334434 · Dec 12, 2008
Continuation 12275182 · Nov 20, 2008
Provisional Application 60989795 · Nov 21, 2007
Related Publication 20130041986A1 · Feb 14, 2013