### 当前访问异常原因: - UOS上通过插件VTMModifyHeaders插件修改了HTTP请求头;Windows上通过自研浏览器cefclient修改了HTTP请求头,不涉及插件。 - 运行命令行如下,/opt/Run/version/3.3.0.1/res/RunScript/startBrower.sh --allow-running-insecure-content --new-window --kiosk **--load-extension=/opt/Run/version/3.3.0.1/res/VTMModifyHeaders** --window-position=1280,1024 --disk-cache-dir=/opt/rvc/Temp/BrowserVice_Ad --disk-cache-size=2147483647 --use-fake-ui-for-media-stream --unsafely-treat-insecure-origin-as-secure=http://rvcweb-upscreen.paas.cmbchina.cn --user-data-dir=/opt/rvc/Temp/BrowserConfigVice_Ad **https://rvcweb-upscreen.paas.cmbchina.cn/#/Home** - 插件进程和需要打开的页面同时运行,不分先后。 - 在页面index.html访问时,插件还未运行成功,所以不带http header;后续其他资源加载时,插件已经运行成功,带了http header。造成了前后不一致的情况 ### 需要关注的问题: - 保证原子性:要不就都带http header,要不都不带http header - 即使插件运行不成功,也不要影响页面加载。 - 对于插件而言,可使用权限很少:无法读取local storage;无法读取本地文件内容;无法读取全局变量。**因此,如何传递url参数是个问题。** ### 解决方案: - **通过一个本地重定向页面解决这个问题** - 如:file:///D:/redirect.html?url=https://rvcweb-upscreen.paasst.cmbchina.cn/ - 通过参数传递真正的url给重定向页面 - 改页面显示状态为about:blank, 并设置一个定时器,超时则自动启动https://rvcweb-upscreen.paasst.cmbchina.cn - 对于插件而言,在加载成功后(即通过VTM获得配置后),可以基于当前运行的url解析出真正的url,并打开页面 - **插件日志记录**: - 由redirect.html重定向的页面,则插件不起作用,通过ws向终端记录日志"插件运行失败" - 插件重定向的页面,则记录日志"插件运行成功" - 无论如何,在记录完日志后,关闭ws,避免长时间占用 ```mermaid graph TD A[用户访问本地重定向页面] --> B[解析URL参数] B --> C[显示about:blank] C --> D[启动定时器] D -->|超时(定时1000ms)| E[跳转至目标URL] B -->|插件加载成功| F[直接解析url] F --> |为http://形式| G[插件不起作用] F --> |为file://形式| H[插件重定向到目标URL] G --> I[日志记录:插件未起作用] H --> J[日志记录:插件运行成功] ```