--- /dev/null
+// Use 'page.injectJs()' to load the script itself in the Page context
+
+"use strict";
+if ( typeof(phantom) !== "undefined" ) {
+ var page = require('webpage').create();
+
+ // Route "console.log()" calls from within the Page context to the main Phantom context (i.e. current "this")
+ page.onConsoleMessage = function(msg) {
+ console.log(msg);
+ };
+
+ page.onAlert = function(msg) {
+ console.log(msg);
+ };
+
+ console.log("* Script running in the Phantom context.");
+ console.log("* Script will 'inject' itself in a page...");
+ page.open("about:blank", function(status) {
+ if ( status === "success" ) {
+ console.log(page.injectJs("injectme.js") ? "... done injecting itself!" : "... fail! Check the $PWD?!");
+ }
+ phantom.exit();
+ });
+} else {
+ alert("* Script running in the Page context.");
+}