Web / browser
set_webgl_params
set_webgl_params($webgl_params); - задать WebGL параметры (Доступна с версии 7.0.63)Функция на вход принимает параметры:
- VENDOR = "";
- RENDERER = "";
- VERSION = "";
- SHADING_LANGUAGE_VERSION = "";
- UNMASKED_VENDOR = "";
- UNMASKED_RENDERER = "";
- MAX_VERTEX_ATTRIBS = "";
- MAX_VERTEX_UNIFORM_VECTORS = "";
- MAX_VERTEX_TEXTURE_IMAGE_UNITS = "";
- MAX_VARYING_VECTORS = "";
- MAX_VERTEX_UNIFORM_COMPONENTS = "";
- MAX_VERTEX_UNIFORM_BLOCKS = "";
- MAX_VERTEX_OUTPUT_COMPONENTS = "";
- MAX_VARYING_COMPONENTS = "";
- MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = "";
- MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = "";
- MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = "";
- ALIASED_LINE_WIDTH_RANGE = "float32array";
- ALIASED_POINT_SIZE_RANGE = "float32array";
- MAX_FRAGMENT_UNIFORM_VECTORS = "";
- MAX_TEXTURE_IMAGE_UNITS = "";
- MAX_FRAGMENT_UNIFORM_COMPONENTS = "";
- MAX_FRAGMENT_UNIFORM_BLOCKS = "";
- MAX_FRAGMENT_INPUT_COMPONENTS = "";
- MIN_PROGRAM_TEXEL_OFFSET = "";
- MAX_PROGRAM_TEXEL_OFFSET = "";
- MAX_DRAW_BUFFERS = "";
- MAX_COLOR_ATTACHMENTS = "";
- MAX_SAMPLES = "";
- RED_BITS = "";
- GREEN_BITS = "";
- BLUE_BITS = "";
- ALPHA_BITS = "";
- DEPTH_BITS = "";
- STENCIL_BITS = "";
- MAX_RENDERBUFFER_SIZE = "";
- MAX_VIEWPORT_DIMS = "";
- MAX_TEXTURE_SIZE = "";
- MAX_CUBE_MAP_TEXTURE_SIZE = "";
- MAX_COMBINED_TEXTURE_IMAGE_UNITS = "";
- MAX_TEXTURE_MAX_ANISOTROPY_EXT = "";
- MAX_3D_TEXTURE_SIZE = "";
- MAX_ARRAY_TEXTURE_LAYERS = "";
- MAX_TEXTURE_LOD_BIAS = "";
- MAX_UNIFORM_BUFFER_BINDINGS = "";
- MAX_UNIFORM_BLOCK_SIZE = "";
- UNIFORM_BUFFER_OFFSET_ALIGNMENT = "";
- MAX_COMBINED_UNIFORM_BLOCKS = "";
- MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = "";
- MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = "";
Пример использования (PHP):
===============================================================
<?php $xhe_host = "127.0.0.1:3035"; // подключим объект для управления эмулятором, если еще не подключен if (!isset($path)) $path="../../../Templates/xweb_human_emulator.php"; require($path); // начало echo "<hr><font color=blue>browser->".basename (__FILE__)."</font><hr>"; // params $webGlParams=new XHEWebGLParams(); ////////////////////////// WebGL Context Info $webGlParams->VENDOR="WebKit"; $webGlParams->RENDERER="WebKit WebGL"; $webGlParams->VERSION="WebGL 1.0 (OpenGL ES 2.0 Chromium)"; $webGlParams->SHADING_LANGUAGE_VERSION="WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)"; $webGlParams->UNMASKED_VENDOR="Google Inc."; $webGlParams->UNMASKED_RENDERER="ANGLE (NVIDIA GeForce GT 430 Direct3D9Ex vs_3_0 ps_3_0)"; ////////////////////////// Vertex Shader $webGlParams->MAX_VERTEX_ATTRIBS = "16"; $webGlParams->MAX_VERTEX_UNIFORM_VECTORS = "253"; $webGlParams->MAX_VERTEX_TEXTURE_IMAGE_UNITS = "4"; $webGlParams->MAX_VARYING_VECTORS = "9"; $webGlParams->MAX_VERTEX_UNIFORM_COMPONENTS = "16380"; $webGlParams->MAX_VERTEX_UNIFORM_BLOCKS = "12"; $webGlParams->MAX_VERTEX_OUTPUT_COMPONENTS = "120"; $webGlParams->MAX_VARYING_COMPONENTS = "120"; ////////////////////////// Transform Feedback $webGlParams->MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = "121"; $webGlParams->MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = "4"; $webGlParams->MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = "4"; ////////////////////////// Rasterizer $webGlParams->ALIASED_LINE_WIDTH_RANGE = "float32array"; $webGlParams->ALIASED_POINT_SIZE_RANGE = "float32array"; ////////////////////////// Fragment Shader $webGlParams->MAX_FRAGMENT_UNIFORM_VECTORS = "221"; $webGlParams->MAX_TEXTURE_IMAGE_UNITS = "17"; $webGlParams->MAX_FRAGMENT_UNIFORM_COMPONENTS = "17"; $webGlParams->MAX_FRAGMENT_UNIFORM_BLOCKS = "13"; $webGlParams->MAX_FRAGMENT_INPUT_COMPONENTS = "121"; $webGlParams->MIN_PROGRAM_TEXEL_OFFSET = "-9"; $webGlParams->MAX_PROGRAM_TEXEL_OFFSET = "8"; ////////////////////////// Framebuffer $webGlParams->MAX_DRAW_BUFFERS = "9"; $webGlParams->MAX_COLOR_ATTACHMENTS = "9"; $webGlParams->MAX_SAMPLES = "9"; $webGlParams->RED_BITS = "9"; $webGlParams->GREEN_BITS = "9"; $webGlParams->BLUE_BITS = "9"; $webGlParams->ALPHA_BITS = "9"; $webGlParams->DEPTH_BITS = "32"; $webGlParams->STENCIL_BITS = "8"; $webGlParams->MAX_RENDERBUFFER_SIZE = "32768"; $webGlParams->MAX_VIEWPORT_DIMS = "new Int32Array([16385,16385])"; ////////////////////////// Textures $webGlParams->MAX_TEXTURE_SIZE = "32768"; $webGlParams->MAX_CUBE_MAP_TEXTURE_SIZE = "32768"; $webGlParams->MAX_COMBINED_TEXTURE_IMAGE_UNITS = "32768"; $webGlParams->MAX_TEXTURE_MAX_ANISOTROPY_EXT = "32"; $webGlParams->MAX_3D_TEXTURE_SIZE = "4096"; $webGlParams->MAX_ARRAY_TEXTURE_LAYERS = "4096"; $webGlParams->MAX_TEXTURE_LOD_BIAS = "4"; ////////////////////////// Uniform Buffers $webGlParams->MAX_UNIFORM_BUFFER_BINDINGS = "32"; $webGlParams->MAX_UNIFORM_BLOCK_SIZE = "32768"; $webGlParams->UNIFORM_BUFFER_OFFSET_ALIGNMENT = "512"; $webGlParams->MAX_COMBINED_UNIFORM_BLOCKS = "32"; $webGlParams->MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = ""; $webGlParams->MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = "512678"; echo "1. Зададим WebGL параметры: "; echo $browser->set_webgl_params($webGlParams)."\n"; // 2 echo "2 Перейдем на страницу для детектирования браузера : "; echo $browser->navigate("https://browserleaks.com/webgl")."<br>"; $td->set_focus_by_inner_text("WebGL Report Hash", false); sleep(10); // 3 echo "3. Отключим кастомные WebGL параметры: "; echo $browser->set_webgl_params(new XHEWebGLParams())."<br>"; // 4 echo "4. Перейдем на страницу для детектирования браузера : "; echo $browser->navigate("https://browserleaks.com/webgl")."<br>"; $td->set_focus_by_inner_text("WebGL Report Hash", false); // конец echo "<hr><br>"; // Quit $app->quit(); ?>
Пример использования (Python):
===============================================================
# Additional paths import sys sys.path.insert(0, '../../../Templates PY/') xhe_host = "127.0.0.1:3035" from xweb_human_emulator import * # начало echo("<hr><font color=blue>browser.xxxxxxxxx</font><hr>") # params webGlParams=XHEWebGLParams(); #////////////////////////// WebGL Context Info webGlParams.VENDOR="WebKit"; webGlParams.RENDERER="WebKit WebGL"; webGlParams.VERSION="WebGL 1.0 (OpenGL ES 2.0 Chromium)"; webGlParams.SHADING_LANGUAGE_VERSION="WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)"; webGlParams.UNMASKED_VENDOR="Google Inc."; webGlParams.UNMASKED_RENDERER="ANGLE (NVIDIA GeForce GT 430 Direct3D9Ex vs_3_0 ps_3_0)"; #////////////////////////// Vertex Shader webGlParams.MAX_VERTEX_ATTRIBS = "16"; webGlParams.MAX_VERTEX_UNIFORM_VECTORS = "253"; webGlParams.MAX_VERTEX_TEXTURE_IMAGE_UNITS = "4"; webGlParams.MAX_VARYING_VECTORS = "9"; webGlParams.MAX_VERTEX_UNIFORM_COMPONENTS = "16380"; webGlParams.MAX_VERTEX_UNIFORM_BLOCKS = "12"; webGlParams.MAX_VERTEX_OUTPUT_COMPONENTS = "120"; webGlParams.MAX_VARYING_COMPONENTS = "120"; #////////////////////////// Transform Feedback webGlParams.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = "121"; webGlParams.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = "4"; webGlParams.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = "4"; #////////////////////////// Rasterizer webGlParams.ALIASED_LINE_WIDTH_RANGE = "float32array"; webGlParams.ALIASED_POINT_SIZE_RANGE = "float32array"; #////////////////////////// Fragment Shader webGlParams.MAX_FRAGMENT_UNIFORM_VECTORS = "221"; webGlParams.MAX_TEXTURE_IMAGE_UNITS = "17"; webGlParams.MAX_FRAGMENT_UNIFORM_COMPONENTS = "17"; webGlParams.MAX_FRAGMENT_UNIFORM_BLOCKS = "13"; webGlParams.MAX_FRAGMENT_INPUT_COMPONENTS = "121"; webGlParams.MIN_PROGRAM_TEXEL_OFFSET = "-9"; webGlParams.MAX_PROGRAM_TEXEL_OFFSET = "8"; #////////////////////////// Framebuffer webGlParams.MAX_DRAW_BUFFERS = "9"; webGlParams.MAX_COLOR_ATTACHMENTS = "9"; webGlParams.MAX_SAMPLES = "9"; webGlParams.RED_BITS = "9"; webGlParams.GREEN_BITS = "9"; webGlParams.BLUE_BITS = "9"; webGlParams.ALPHA_BITS = "9"; webGlParams.DEPTH_BITS = "32"; webGlParams.STENCIL_BITS = "8"; webGlParams.MAX_RENDERBUFFER_SIZE = "32768"; webGlParams.MAX_VIEWPORT_DIMS = "new Int32Array([16385,16385])"; #////////////////////////// Textures webGlParams.MAX_TEXTURE_SIZE = "32768"; webGlParams.MAX_CUBE_MAP_TEXTURE_SIZE = "32768"; webGlParams.MAX_COMBINED_TEXTURE_IMAGE_UNITS = "32768"; webGlParams.MAX_TEXTURE_MAX_ANISOTROPY_EXT = "32"; webGlParams.MAX_3D_TEXTURE_SIZE = "4096"; webGlParams.MAX_ARRAY_TEXTURE_LAYERS = "4096"; webGlParams.MAX_TEXTURE_LOD_BIAS = "4"; #////////////////////////// Uniform Buffers webGlParams.MAX_UNIFORM_BUFFER_BINDINGS = "32"; webGlParams.MAX_UNIFORM_BLOCK_SIZE = "32768"; webGlParams.UNIFORM_BUFFER_OFFSET_ALIGNMENT = "512"; webGlParams.MAX_COMBINED_UNIFORM_BLOCKS = "32"; webGlParams.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = ""; webGlParams.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = "512678"; echo("1. Зададим WebGL параметры: "); echo(browser.set_webgl_params(webGlParams),"\n"); # 2 echo("2 Перейдем на страницу для детектирования браузера : "); echo(browser.navigate("https://browserleaks.com/webgl"),"<br>"); td.set_focus_by_inner_text("WebGL Report Hash", 0); sleep(10); # 3 echo("3. Отключим кастомные WebGL параметры: "); echo(browser.set_webgl_params(XHEWebGLParams()),"<br>"); # 4 echo("4. Перейдем на страницу для детектирования браузера : "); echo(browser.navigate("https://browserleaks.com/webgl"),"<br>"); td.set_focus_by_inner_text("WebGL Report Hash", 0); # конец echo("<hr><br>") # Quit app.quit()
Пример использования (C#):
===============================================================
#region using using System; using System.Diagnostics; using System.Collections.Generic; using System.Linq; using System.IO; using System.Text; using System.Threading; using XHE; using XHE.XHE_DOM; using XHE.XHE_System; using XHE.XHE_Window; using XHE.XHE_Web; #endregion class Program:XHEScript { static void Main(string[] args) { // init XHE server="127.0.0.1:3035"; InitXHE(); // начало echo("<hr><font color=blue>browser.set_app_info</font><hr>"); // params var webGlParams=new XHEWebGLParams(); ////////////////////////// WebGL Context Info webGlParams.VENDOR="WebKit"; webGlParams.RENDERER="WebKit WebGL"; webGlParams.VERSION="WebGL 1.0 (OpenGL ES 2.0 Chromium)"; webGlParams.SHADING_LANGUAGE_VERSION="WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)"; webGlParams.UNMASKED_VENDOR="Google Inc."; webGlParams.UNMASKED_RENDERER="ANGLE (NVIDIA GeForce GT 430 Direct3D9Ex vs_3_0 ps_3_0)"; ////////////////////////// Vertex Shader webGlParams.MAX_VERTEX_ATTRIBS = "16"; webGlParams.MAX_VERTEX_UNIFORM_VECTORS = "253"; webGlParams.MAX_VERTEX_TEXTURE_IMAGE_UNITS = "4"; webGlParams.MAX_VARYING_VECTORS = "9"; webGlParams.MAX_VERTEX_UNIFORM_COMPONENTS = "16380"; webGlParams.MAX_VERTEX_UNIFORM_BLOCKS = "12"; webGlParams.MAX_VERTEX_OUTPUT_COMPONENTS = "120"; webGlParams.MAX_VARYING_COMPONENTS = "120"; ////////////////////////// Transform Feedback webGlParams.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = "121"; webGlParams.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = "4"; webGlParams.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = "4"; ////////////////////////// Rasterizer webGlParams.ALIASED_LINE_WIDTH_RANGE = "float32array"; webGlParams.ALIASED_POINT_SIZE_RANGE = "float32array"; ////////////////////////// Fragment Shader webGlParams.MAX_FRAGMENT_UNIFORM_VECTORS = "221"; webGlParams.MAX_TEXTURE_IMAGE_UNITS = "17"; webGlParams.MAX_FRAGMENT_UNIFORM_COMPONENTS = "17"; webGlParams.MAX_FRAGMENT_UNIFORM_BLOCKS = "13"; webGlParams.MAX_FRAGMENT_INPUT_COMPONENTS = "121"; webGlParams.MIN_PROGRAM_TEXEL_OFFSET = "-9"; webGlParams.MAX_PROGRAM_TEXEL_OFFSET = "8"; ////////////////////////// Framebuffer webGlParams.MAX_DRAW_BUFFERS = "9"; webGlParams.MAX_COLOR_ATTACHMENTS = "9"; webGlParams.MAX_SAMPLES = "9"; webGlParams.RED_BITS = "9"; webGlParams.GREEN_BITS = "9"; webGlParams.BLUE_BITS = "9"; webGlParams.ALPHA_BITS = "9"; webGlParams.DEPTH_BITS = "32"; webGlParams.STENCIL_BITS = "8"; webGlParams.MAX_RENDERBUFFER_SIZE = "32768"; webGlParams.MAX_VIEWPORT_DIMS = "new Int32Array([16385,16385])"; ////////////////////////// Textures webGlParams.MAX_TEXTURE_SIZE = "32768"; webGlParams.MAX_CUBE_MAP_TEXTURE_SIZE = "32768"; webGlParams.MAX_COMBINED_TEXTURE_IMAGE_UNITS = "32768"; webGlParams.MAX_TEXTURE_MAX_ANISOTROPY_EXT = "32"; webGlParams.MAX_3D_TEXTURE_SIZE = "4096"; webGlParams.MAX_ARRAY_TEXTURE_LAYERS = "4096"; webGlParams.MAX_TEXTURE_LOD_BIAS = "4"; ////////////////////////// Uniform Buffers webGlParams.MAX_UNIFORM_BUFFER_BINDINGS = "32"; webGlParams.MAX_UNIFORM_BLOCK_SIZE = "32768"; webGlParams.UNIFORM_BUFFER_OFFSET_ALIGNMENT = "512"; webGlParams.MAX_COMBINED_UNIFORM_BLOCKS = "32"; webGlParams.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = ""; webGlParams.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = "512678"; echo("1. Зададим WebGL параметры: "); echo(browser.set_webgl_params(webGlParams)+"\n"); // 2 echo("2 Перейдем на страницу для детектирования браузера : "); echo(browser.navigate("https://browserleaks.com/webgl")+"<br>"); td.set_focus_by_inner_text("WebGL Report Hash", 0); sleep(10); // 3 echo("3. Отключим кастомные WebGL параметры: "); echo(browser.set_webgl_params(new XHEWebGLParams())+"<br>"); // 4 echo("4. Перейдем на страницу для детектирования браузера : "); echo(browser.navigate("https://browserleaks.com/webgl")+"<br>"); td.set_focus_by_inner_text("WebGL Report Hash", 0); // конец echo("<hr><br>"); app.quit(); } }
Пример использования (JS):
===============================================================
// подключим объект для управления эмулятором, если еще не подключен xhe_host="127.0.0.1:3035"; echo=require("../../../Templates JS/xweb_human_emulator.js"); XHEWebGLParams=require("../../../Templates JS/Objects/xhe_webgl_params.js"); // начало echo("<hr><font color=blue>browser.send_get_query</font><hr>"); // params var webGlParams=new XHEWebGLParams(); ////////////////////////// WebGL Context Info webGlParams.VENDOR="WebKit"; webGlParams.RENDERER="WebKit WebGL"; webGlParams.VERSION="WebGL 1.0 (OpenGL ES 2.0 Chromium)"; webGlParams.SHADING_LANGUAGE_VERSION="WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)"; webGlParams.UNMASKED_VENDOR="Google Inc."; webGlParams.UNMASKED_RENDERER="ANGLE (NVIDIA GeForce GT 430 Direct3D9Ex vs_3_0 ps_3_0)"; ////////////////////////// Vertex Shader webGlParams.MAX_VERTEX_ATTRIBS = "16"; webGlParams.MAX_VERTEX_UNIFORM_VECTORS = "253"; webGlParams.MAX_VERTEX_TEXTURE_IMAGE_UNITS = "4"; webGlParams.MAX_VARYING_VECTORS = "9"; webGlParams.MAX_VERTEX_UNIFORM_COMPONENTS = "16380"; webGlParams.MAX_VERTEX_UNIFORM_BLOCKS = "12"; webGlParams.MAX_VERTEX_OUTPUT_COMPONENTS = "120"; webGlParams.MAX_VARYING_COMPONENTS = "120"; ////////////////////////// Transform Feedback webGlParams.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = "121"; webGlParams.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = "4"; webGlParams.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = "4"; ////////////////////////// Rasterizer webGlParams.ALIASED_LINE_WIDTH_RANGE = "float32array"; webGlParams.ALIASED_POINT_SIZE_RANGE = "float32array"; ////////////////////////// Fragment Shader webGlParams.MAX_FRAGMENT_UNIFORM_VECTORS = "221"; webGlParams.MAX_TEXTURE_IMAGE_UNITS = "17"; webGlParams.MAX_FRAGMENT_UNIFORM_COMPONENTS = "17"; webGlParams.MAX_FRAGMENT_UNIFORM_BLOCKS = "13"; webGlParams.MAX_FRAGMENT_INPUT_COMPONENTS = "121"; webGlParams.MIN_PROGRAM_TEXEL_OFFSET = "-9"; webGlParams.MAX_PROGRAM_TEXEL_OFFSET = "8"; ////////////////////////// Framebuffer webGlParams.MAX_DRAW_BUFFERS = "9"; webGlParams.MAX_COLOR_ATTACHMENTS = "9"; webGlParams.MAX_SAMPLES = "9"; webGlParams.RED_BITS = "9"; webGlParams.GREEN_BITS = "9"; webGlParams.BLUE_BITS = "9"; webGlParams.ALPHA_BITS = "9"; webGlParams.DEPTH_BITS = "32"; webGlParams.STENCIL_BITS = "8"; webGlParams.MAX_RENDERBUFFER_SIZE = "32768"; webGlParams.MAX_VIEWPORT_DIMS = "new Int32Array([16385,16385])"; ////////////////////////// Textures webGlParams.MAX_TEXTURE_SIZE = "32768"; webGlParams.MAX_CUBE_MAP_TEXTURE_SIZE = "32768"; webGlParams.MAX_COMBINED_TEXTURE_IMAGE_UNITS = "32768"; webGlParams.MAX_TEXTURE_MAX_ANISOTROPY_EXT = "32"; webGlParams.MAX_3D_TEXTURE_SIZE = "4096"; webGlParams.MAX_ARRAY_TEXTURE_LAYERS = "4096"; webGlParams.MAX_TEXTURE_LOD_BIAS = "4"; ////////////////////////// Uniform Buffers webGlParams.MAX_UNIFORM_BUFFER_BINDINGS = "32"; webGlParams.MAX_UNIFORM_BLOCK_SIZE = "32768"; webGlParams.UNIFORM_BUFFER_OFFSET_ALIGNMENT = "512"; webGlParams.MAX_COMBINED_UNIFORM_BLOCKS = "32"; webGlParams.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = ""; webGlParams.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = "512678"; echo("1. Зададим WebGL параметры: "); echo(browser.set_webgl_params(webGlParams)+"\n"); // 2 echo("2 Перейдем на страницу для детектирования браузера : "); echo(browser.navigate("https://browserleaks.com/webgl")+"<br>"); td.set_focus_by_inner_text("WebGL Report Hash", 0); app.sleep(10); // 3 echo("3. Отключим кастомные WebGL параметры: "); echo(browser.set_webgl_params(new XHEWebGLParams())+"<br>"); // 4 echo("4. Перейдем на страницу для детектирования браузера : "); echo(browser.navigate("https://browserleaks.com/webgl")+"<br>"); td.set_focus_by_inner_text("WebGL Report Hash", 0); // конец echo("<hr><br>"); // Quit app.quit();
=============================================
Browser Объекты DOM System Vision Web Window
=============================================
если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум
.