The limit is for a call with an appeal. When you make a draw call and call a specific shader program, you are limited by the limit, but your next draw call can use completely different textures in the same animation frame.
In addition, 8 is the minimum guarantee. Systems must support at least eight to be considered compatible with WebGL. But nicer graphics cards support more than eight. You can request the maximum number of image textures for the platform on which you are:
var maxTextures = gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS);
You can also search for vertex textures:
gl.getParameter(gl.MAX_VERTEX_TEXTURE_IMAGE_UNITS)
Or a combination of the two:
gl.getParameter(gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS)
, WebGL ( , ), , ( "" Shader → Max Texture Units).
WebGL, . MAX_TEXTURE_IMAGE_UNITS , 16 , 95%.