====== Interacting with the Paywall ====== You can interact with the Paywall when you invoke it and when you listen to the events it fires. ===== Loading the Paywall ===== You load the Paywall by getting a small invoker Javascript file. The easiest way to do this is to include a ''script'' tag in your HTML page, like this: There are different versions of the Paywall invoker file, so that you can access the one that is most adequate to your needs.\\ The available files are: * https://cdn.paperview-services.com/reader/paywall-invoker/paperview.js * https://cdn.paperview-services.com/reader/paywall-invoker/paperview.declarative.js * https://cdn.paperview-services.com/reader/paywall-invoker/paperview.imperative.js The file's name indicates whether the invoker supports both the declarative and imperative invocations of the Paywall, or only the declarative or imperative invocation. Like this: * ''paperview.js'' - Supports both declarative and imperative invocations of the Paywall. * ''paperview.declarative.js'' - Like ''paperview.js'', but supports only **declarative invocation**. This disadvantage typically comes at the benefit of smaller file size. * ''paperview.imperative.js'' - Like ''paperview.js'', but supports only **imperative invocation**. Note that, if you wish to open the Paywall in sandbox mode, you need to adjust the above URLs to include the ''-sandbox'' subdomain suffix. Thus, the URL\\ ''https://cdn.paperview-services.com/reader/paywall-invoker/paperview.js''\\ becomes\\ ''https://cdn-sandbox.paperview-services.com/reader/paywall-invoker/paperview.js'' ===== Invoking the Paywall ===== The Paperview Paywall can be summoned by one of the following means: * [[paywall_invoker:declarative|Declarative invocation]], via HTML element data attributes, or * [[paywall_invoker:imperative|Imperative invocation]], by issuing commands via Javascript ===== Paywall events ===== The Paywall also fires some DOM events during its lifecycle, regardless of the manner used to invoke it.\\ You can listen for these DOM events by hooking a listener to the global ''window'' object. You can do it like this: window.addEventListener("paperview::", function(_event) { // stuff you want to do when the event fires }); You can find a comprehensive list of the supported DOM events [[paywall_invoker:javascript_events|here]].