Create a new ActiveXObject powered htmlfile
which includes feature detection
and prevention against blockage by firewalls / virus scanners due to it's
dependency upon the axo
module.
This module was designed to be used with commonjs compatible environment such as node and browserify, the package it self is released in npm can be installed using:
npm install --save htmlfile
In all examples we assume that the module loaded as:
var htmlfile = require('htmlfile');
The require call returns a function which can be used for the construction of
htmlfiles. This function accepts one optional argument which is used to set the
document.domain
of the newly created htmlfile
instance. If no domain is
provided it will default to document.domain
:
var file = htmlfile();
//
// Or with a custom domain:
//
file = htmlfile('//github.com');
As ActiveXObject is an Internet Explorer only technology you need to check if
your current browser environment is supported. This can be done by calling the
.supported
method on the htmlfile function. A boolean will be returned
indicating if the environment can construct htmlfiles:
if (!htmlfile.supported()) throw new Error('Not supported, upgrade to IE5 ;-)');
Once you are done with using the htmlfile it needs to be cleaned up to prevent
memory leaks and IE odd ness. Make sure you dereference the returned htmlfile
from all your variables and properties and call the destroy
method to trigger
the IE specific garbage collection:
var file = htmlfile();
// .. do stuff
// Unreference the file and destroy all the things.
file = null;
htmlfile.destroy();
MIT