5 JavaScript Detection

LibreJS considers a very strict subset of JavaScript to be acceptable for use in non-free scripts. This is meant to maximimize compatibility with websites that haven’t tried to be LibreJS compatible.

We consider modification of the document non-trivial. There isn’t much that javascript could do that we would consider trivial, for anything else a free software license would be required.

The criterion is as follows:

For each function definition:

For the rest of the script, outside of function definitions:

"function" means anything executable that gets a name, including methods.

Allowed primitives exclude: