Add content
							parent
							
								
									ae1ad9b28a
								
							
						
					
					
						commit
						b76bde2ab9
					
				@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					function onLoad() {
 | 
				
			||||||
 | 
					  console.log(this.responseText);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var request = new XMLHttpRequest();
 | 
				
			||||||
 | 
					request.onload = onLoad;
 | 
				
			||||||
 | 
					request.open('get', 'http://localhost:8000/', true);
 | 
				
			||||||
 | 
					request.send();
 | 
				
			||||||
@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					var page = require('webpage').create();
 | 
				
			||||||
 | 
					page.viewportSize = {width: 1280, height: 720};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					page.open('https://html5test.com/', function() {
 | 
				
			||||||
 | 
					  function doneLoading() {
 | 
				
			||||||
 | 
					    var el = document.getElementById('loading');
 | 
				
			||||||
 | 
					    return window.getComputedStyle(el).display === 'none';
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  function checkPage() {
 | 
				
			||||||
 | 
					    if (page.evaluate(doneLoading)) {
 | 
				
			||||||
 | 
					      page.render('static/html5.' + phantom.version.major + '.png');
 | 
				
			||||||
 | 
					      console.log('created static/html5.' + phantom.version.major + '.png');
 | 
				
			||||||
 | 
					      phantom.exit();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    setTimeout(checkPage, 100);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  checkPage();
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
@ -1,10 +1,9 @@
 | 
				
			|||||||
var webpage = require('webpage');
 | 
					var page = require('webpage').create();
 | 
				
			||||||
var page = webpage.create();
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
page.viewportSize = {width: 1280, height: 720};
 | 
					page.viewportSize = {width: 1280, height: 720};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
page.open('http://phantomjs.org', function() {
 | 
					page.open('http://phantomjs.org', function() {
 | 
				
			||||||
   page.render('phantomjs.png');
 | 
					   page.render('phantomjs.png');
 | 
				
			||||||
   console.log('created phantomjs.png');
 | 
					   console.log('created phantomjs.png. ☮ out!');
 | 
				
			||||||
   phantom.exit();
 | 
					   phantom.exit();
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
				
			|||||||
@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					(function (phantom) {
 | 
				
			||||||
 | 
					  var foo = {bar: {baz: 123}};
 | 
				
			||||||
 | 
					  delete foo.bar;
 | 
				
			||||||
 | 
					  try {
 | 
				
			||||||
 | 
					    console.log(foo.bar.baz);
 | 
				
			||||||
 | 
					  } catch (err) {
 | 
				
			||||||
 | 
					    console.log(err);
 | 
				
			||||||
 | 
					    phantom && phantom.exit();
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}(this.phantom));
 | 
				
			||||||
@ -1,3 +0,0 @@
 | 
				
			|||||||
# Developer Definition:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## PhantomJS is a **JavaScript runtime** that gives access to native **Qt/WebKit** objects.
 | 
					 | 
				
			||||||
@ -1,3 +0,0 @@
 | 
				
			|||||||
# Simple Definition:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Headless Web Browser
 | 
					 | 
				
			||||||
@ -1,5 +0,0 @@
 | 
				
			|||||||
# Define
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
PhantomJS is a headless WebKit scriptable with a JavaScript API. It has fast
 | 
					 | 
				
			||||||
and native support for various web standards: DOM handling, CSS selector,
 | 
					 | 
				
			||||||
JSON, Canvas, and SVG.
 | 
					 | 
				
			||||||
@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					# PhantomJS is not Node.js
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## **PhantomJS** is a JavaScript runtime based on **Qt** and **WebKit**.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## **Node.js** is a JavaScript runtime based on **V8** and **libuv**.
 | 
				
			||||||
@ -0,0 +1,17 @@
 | 
				
			|||||||
 | 
					# This will just crash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					$ gcc -xc - <<APP
 | 
				
			||||||
 | 
					#include <stdio.h>
 | 
				
			||||||
 | 
					int main() {
 | 
				
			||||||
 | 
					    int *p = NULL;
 | 
				
			||||||
 | 
					    printf("Before pointer dereference\n");
 | 
				
			||||||
 | 
					    *p = 1;
 | 
				
			||||||
 | 
					    printf("After pointer dereference\n");
 | 
				
			||||||
 | 
					    return 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					APP
 | 
				
			||||||
 | 
					$ ./a.out
 | 
				
			||||||
 | 
					Before pointer dereference
 | 
				
			||||||
 | 
					Segmentation fault (core dumped)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					# Qt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> ## "Qt is a cross-platform application and UI framework"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## [http://qt-project.org/](http://qt-project.org/)
 | 
				
			||||||
@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					# This will error, not crash
 | 
				
			||||||
@ -1,3 +1,3 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "copy": "define-developer"
 | 
					  "copy": "not-node"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,3 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "copy": "js-runtime",
 | 
					  "copy": "qt"
 | 
				
			||||||
  "code": "prototypes"
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "copy": "use-after-free",
 | 
				
			||||||
 | 
					  "code": "use-after-free"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "copy": "null-pointer"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "copy": "only-title",
 | 
				
			||||||
 | 
					  "code": "crash"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "copy": "js-runtime",
 | 
				
			||||||
 | 
					  "code": "html5"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "copy": "js-runtime",
 | 
				
			||||||
 | 
					  "code": "prototypes"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
					Loading…
					
					
				
		Reference in New Issue