To remedy the issue, I extended the $zopim.livechat.button with a function called resetLocation. Internally, the function simply uses Zopim's intrinsic setOffsetHorizontalMobile and setOffsetVerticalMobile functions and takes x and y as parameters. The function simply takes the available screen height and subtracts the amount height of the header and similarly takes the available screen width and subtracts whatever number that you specify so that you can add a little space between the edge of the screen and the button.
The code is as follows:
If you have any questions or need any help with your programming project, please feel free to drop me a line anytime, by using our contact form.
Until next time: Happy Coding!