René Nyffenegger's collection of things on the web
René Nyffenegger on Oracle - Most wanted - Feedback -
 

Create HTML to text a java script file

use warnings;
use strict;


write_html('Error');

write_html('for');
write_html('eval');

write_html('var');
write_html('try');
write_html('throw');
write_html('finally');
write_html('delete');
write_html('undefined');
write_html('null');
write_html('NaN');
write_html('if');
write_html('replace');

write_html('Infinity');

write_html('typeof');
write_html('plus'); # ==
write_html('eqeq'); # ==
write_html('eqeqeq'); # ===

# object methods
write_html('push');
write_html('join');
write_html('pop');
write_html('watch');

write_html('prototype');

write_html('inheritance');

write_html('new_Function');

write_html('constructor');

write_html('references');

# Global functions
write_html('escape'  );
write_html('unescape');
write_html('parseInt');

# Strings:
write_html('charAt'   );
write_html('substring');
write_html('length'   );
write_html('split');
write_html('slice');
write_html('toUpperCase');

# RegExp
write_html('RegExp');

# Booleans
write_html('Boolean');

# Number
write_html('Number');
write_html('isNaN');

# Date
write_html('Date');
write_html('getTimezoneOffset');
write_html('getDay');

# functions
write_html('apply');

# Arrays
write_html('Array');

# Objects
write_html('Object');
write_html('new'   );
write_html('in'    );
write_html('toSource');

# Timing
write_html('setTimeout');

# 
write_html('newline');

# 
write_html('closure');

# 
write_html('arguments');

#
write_html('prompt');

#
write_html('for_in');

# dom
write_html('dom/window');
write_html('dom/location');
write_html('dom/addEventListener');
write_html('dom/setAttribute');
write_html('dom/document_body');
write_html('dom/dir');

#dom/event
write_html('dom/event/click');


sub write_html {
  my $js_file = shift;

  open HTML, ">c:/temp/$js_file.html";

  open JS, "$js_file.js" or die "JS: $js_file";
  my $func_txt = join '', <JS>;
  close JS or die "JS close: $js_file";

  print HTML <<END;
<html>
<head><title>Javascript: $js_file</title>

  <script type='text/javascript'>

  var out_div;

  function init() {
      out_div = document.getElementById('out')
      return 1;
  }

  function txt_out(txt) {
      out_div.innerHTML += "<br />" + txt
  }

  $func_txt

  </script>

</head>
<body onload='init () && main();'>

<pre id='out'>
</pre>

</body>
</html>
END

  close HTML;

}