CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Wed, 20 Aug 2025 11:21:24 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20090131191209
location: https://web.archive.org/web/20090131191209/https://github.com/parmanoir/jscocoa/tree
server-timing: captures_list;dur=0.496127, exclusion.robots;dur=0.025103, exclusion.robots.policy;dur=0.014511, esindex;dur=0.010979, cdx.remote;dur=24.579275, LoadShardBlock;dur=534.822159, PetaboxLoader3.resolve;dur=346.023737, PetaboxLoader3.datanode;dur=117.599796
x-app-server: wwwb-app200
x-ts: 302
x-tr: 593
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=1
set-cookie: wb-p-SERVER=wwwb-app200; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 301
server: nginx
date: Wed, 20 Aug 2025 11:21:25 GMT
content-type: text/html; charset=utf-8
content-length: 113
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Sat, 31 Jan 2009 19:12:08 GMT
x-archive-orig-connection: close
x-archive-orig-status: 301 Moved Permanently
location: https://web.archive.org/web/20090131191209/https://github.com/parmanoir/jscocoa/tree/master
x-archive-orig-x-runtime: 116ms
x-archive-orig-cache-control: no-cache
x-archive-orig-content-length: 113
cache-control: max-age=1800
memento-datetime: Sat, 31 Jan 2009 19:12:09 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Sat, 31 Jan 2009 19:12:09 GMT", ; rel="memento"; datetime="Sat, 31 Jan 2009 19:12:09 GMT", ; rel="next memento"; datetime="Mon, 01 Jun 2009 00:10:59 GMT", ; rel="last memento"; datetime="Thu, 25 Feb 2021 02:24:57 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_8_20090131145117_crawl100-c/52_8_20090131191049_crawl101.arc.gz
server-timing: captures_list;dur=10.602298, exclusion.robots;dur=0.023224, exclusion.robots.policy;dur=0.013219, esindex;dur=0.009222, cdx.remote;dur=53.562555, LoadShardBlock;dur=211.578442, PetaboxLoader3.datanode;dur=157.648164, PetaboxLoader3.resolve;dur=237.677204, load_resource;dur=234.397405
x-app-server: wwwb-app200
x-ts: 301
x-tr: 534
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=1
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Wed, 20 Aug 2025 11:21:26 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.6.31
x-archive-orig-date: Sat, 31 Jan 2009 19:12:09 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-x-runtime: 362ms
x-archive-orig-etag: "0f195ec873bcf757fa6604cc5eb352f6"
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-orig-content-length: 25768
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Sat, 31 Jan 2009 19:12:09 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Fri, 16 Jan 2009 01:44:59 GMT", ; rel="prev memento"; datetime="Fri, 23 Jan 2009 13:08:30 GMT", ; rel="memento"; datetime="Sat, 31 Jan 2009 19:12:09 GMT", ; rel="next memento"; datetime="Tue, 03 Feb 2009 21:33:35 GMT", ; rel="last memento"; datetime="Thu, 25 Feb 2021 02:48:01 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_8_20090131145117_crawl100-c/52_8_20090131191049_crawl101.arc.gz
server-timing: captures_list;dur=0.542730, exclusion.robots;dur=0.024914, exclusion.robots.policy;dur=0.015733, esindex;dur=0.010684, cdx.remote;dur=13.098058, LoadShardBlock;dur=269.671077, PetaboxLoader3.datanode;dur=148.174174, PetaboxLoader3.resolve;dur=223.104132, load_resource;dur=163.144283
x-app-server: wwwb-app200
x-ts: 200
x-tr: 512
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
parmanoir's jscocoa at master - GitHub
This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (

This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (

Description: | Write Cocoa applications in Javascript |
Homepage: | https://inexdo.com/JSCocoa |
Clone URL: |
git://github.com/parmanoir/jscocoa.git
Give this clone URL to anyone.
git clone git://github.com/parmanoir/jscocoa.git
|
jscocoa /
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>JSCocoa — A bridge from JavascriptCore to Cocoa</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style> html { font-family: Helvetica Neue, Corbel, Verdana; font-size: 90%; } pre, code { background-color: #eee; } .samplebox { float: right; width: 25%; border: solid 1px #ddd; padding: 0 1.5em; background-color: white; background-color: #f8f8f8; } </style> </head> <body> <h1>JSCocoa, a bridge from Javascript to Cocoa</h1> Written by Patrick Geiller — <a href='mailto:parmanoir@gmail.com'>parmanoir@gmail.com</a> — <a href ='https://code.google.com/p/jscocoa/'>Google Home</a> — Wanna contribute ? Send me a mail ! <h2>QuickStart</h2> <ul> <li><b>JSCocoa.app</b> interactive console that can execute Javascript commands. You can call anything here, provided it fits on one line. Click the help button to execute sample commands.</li> <li><b>JSCoreAnimation.app</b> Core Animation process viewer written in Javascript.</li> </ul> <div class='samplebox'> <h2>What's in here</h2> <ul> <li><b>JSCocoa</b> JSCocoa files</li> <li><b>JSCocoaGUIConsole</b> interactive console that can execute Javascript commands. You can call anything here, provided it fits on one line. Click the help button to execute sample commands</li> <li><b>JSCocoaConsole</b> REPL console written by Tom Robinson</li> <li><b>JSProcessViewer</b> Core Animation process viewer, written in JSCocoa </li> <li><b>iPhoneTest2</b> sample iPhone code running in iPhone simulator</li> </ul> <h2>JSCocoa in the wild</h2> <ul> <li><a href='https://ido.nu/kuma/2008/11/22/jscocoa-interactive-console-for-iphone/'><b>Kumagai Kentaro's iPhone console</b></a> run Javascript commands on the iPhone simulator</li> <li><a href='https://gusmueller.com/blog/archives/2008/11/jscocoacodaloader.html'><b>Gus Mueller's Coda plugin</b></a> run Javascript commands in <a href='https://www.panic.com/coda/'>Coda</a></li> <li><a href='https://tlrobinson.net/blog/2008/10/10/command-line-interpreter-and-repl-for-jscocoa/'><b>Tom Robinson's JSCocoa REPL console</b></a> a Read-Eval-Print-Loop console to run in Terminal</li> </ul> </div> <h2>Adding JSCocoa to your project</h2> After building <code>JSCocoa/JSCocoa.xcodeproj</code>, drag <code>/Library/Frameworks/JSCocoa.framework</code> into your project and import it with <code>#import <JSCocoa/JSCocoa.h></code>. <h2>Adding JSCocoa to your project (non framework version)</h2> If you don't want to use JSCocoa as a framework, you can manually add it to your project : <ul> <li>Copy (or reference) all the files from the JSCocoa folder in your project. </li> <li>Add JavascriptCore.framework to frameworks</li> <li>In 'Build' project settings, add -lffi to 'Other linker flags'</li> </ul> <h2>Starting JSCocoa</h2> Starting JSCocoa depends on the lifetime you want for your JS objects. <ul><li><b>program lifetime</b> start JSCocoa in main.c <pre> [[NSAutoreleasePool alloc] init]; id JSCocoa = [JSCocoaController sharedController]; [JSCocoa evalJSFile:@"myFile.js"]; // Standard ObjC alloc return NSApplicationMain(argc, (const char **) argv); </pre> </li> <li><b>use and discard lifetime</b> for things like executing a script after <ul> <li>manually create a controller with <code>[[JSCocoaController alloc] init]</code></li> <li>Call <code>evalJSFile</code> or <code>evalJSString</code></li> <li>Destroy the allocated controller. Any object you allocated/retained will be deallocated/released when <code>JSCocoaController</code>'s <code>dealloc</code> calls JS GC.</li> </ul> </li> </ul> <h2>Garbage Collection</h2> <a href='https://code.google.com/p/jscocoa/wiki/GarbageCollection'>How Javascript Garbage Collection works with ObjC objects</a> </body> </html>
This feature is coming soon. Sit tight!