eval()method, use of square bracket method calls, use of concatenation with certain constructs or method calls, ...)
When an external file defines a function/method, it becomes available to all other external scripts. That is the case if another script defines a function that makes AJAX calls, when an external script loads other scripts dynamically (which in turn could also make AJAX calls, ...), or when a script is written with constructs that may do any of these.
For instance, if your page contains the following:
<script src="jquery.js"></script> <script> $.doSomething(); </script>
$.doSomething(); may seem trivial, you will nevertheless
have to add a stylized license comment on your main HTML page because
the external script (in this case jQuery) has been found to define
methods that make AJAX calls.
$.doSomething() might make an AJAX call,
and LibreJS does not check for that. The rule of thumb is that when you
use a library or code that handles AJAX, JSON, JSONP, the loading of
scripts dynamically, you should have license mentions for all your
a case that happens very often with code that uses libraries.