Giter Site home page Giter Site logo

Comments (4)

ps-george avatar ps-george commented on May 23, 2024 1

Changes I made to fix this issue:

diff --git a/src/species/clicker.js b/src/species/clicker.js
index 1ff294b..cf82a16 100644
--- a/src/species/clicker.js
+++ b/src/species/clicker.js
@@ -20,10 +20,10 @@ const getDefaultConfig = (randomizer) => {
     const defaultPositionSelector = () => {
         return [
             randomizer.natural({
-                max: document.documentElement.clientWidth - 1,
+                max: Math.max(0, document.documentElement.clientWidth - 1),
             }),
             randomizer.natural({
-                max: document.documentElement.clientHeight - 1,
+                max: Math.max(0, document.documentElement.clientHeight - 1),
             }),
         ];
     };
diff --git a/src/species/scroller.js b/src/species/scroller.js
index 3bc0258..d6e4b80 100644
--- a/src/species/scroller.js
+++ b/src/species/scroller.js
@@ -21,10 +21,10 @@ const getDefaultConfig = (randomizer) => {
 
         return [
             randomizer.natural({
-                max: documentWidth - documentElement.clientWidth,
+                max: Math.max(0, documentWidth - documentElement.clientWidth),
             }),
             randomizer.natural({
-                max: documentHeight - documentElement.clientHeight,
+                max: Math.max(0, documentHeight - documentElement.clientHeight),
             }),
         ];
     };
diff --git a/src/species/toucher.js b/src/species/toucher.js
index 7f8d8b5..3a05530 100644
--- a/src/species/toucher.js
+++ b/src/species/toucher.js
@@ -17,10 +17,10 @@ const getDefaultConfig = (randomizer) => {
     const defaultPositionSelector = () => {
         return [
             randomizer.natural({
-                max: document.documentElement.clientWidth - 1,
+                max: Math.max(0, document.documentElement.clientWidth - 1),
             }),
             randomizer.natural({
-                max: document.documentElement.clientHeight - 1,
+                max: Math.max(0, document.documentElement.clientHeight - 1),
             }),
         ];
     };
diff --git a/src/species/typer.js b/src/species/typer.js
index 852b569..1b59cfb 100644
--- a/src/species/typer.js
+++ b/src/species/typer.js
@@ -61,10 +61,10 @@ export default (userConfig) => (logger, randomizer) => {
         const eventType = randomizer.pick(config.eventTypes);
         const key = config.keyGenerator();
         const posX = randomizer.natural({
-            max: documentElement.clientWidth - 1,
+            max: Math.max(0, documentElement.clientWidth - 1),
         });
         const posY = randomizer.natural({
-            max: documentElement.clientHeight - 1,
+            max: Math.max(0, documentElement.clientHeight - 1),
         });
         const targetElement = config.targetElement(posX, posY);

from gremlins.js.

zyhou avatar zyhou commented on May 23, 2024

Thanks for the report.

I agree with you fix, can you open a pull request ?

from gremlins.js.

HALLERPierre avatar HALLERPierre commented on May 23, 2024

Done in #160.
Thanks

from gremlins.js.

zyhou avatar zyhou commented on May 23, 2024

Deploy on npm, https://github.com/marmelab/gremlins.js/blob/master/CHANGELOG.md#210-2020-04-22

from gremlins.js.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.