例如,通过生成UIFigure来创建webwindow
对象时,
hF = uifigure();
% wait for it to load...
hWW = struct(struct(struct(hF).Controller).PlatformHost).CEF;
我们可以找到嵌入式浏览器访问的URL以显示图形:
>> hWW.URL
ans =
'https://localhost:31516/toolbox/matlab/uitools/uifigureappjs/cefComponentContainer.html ...'
手动检查MATLAB安装文件夹的内容表明/toolbox/
指向与toolboxdir([])
输出相同的位置。
>> toolboxdir([])
ans =
'D:\Program Files\MATLAB\R2018a\toolbox'
将以上内容与Deep Learning Network Analyzer窗口报告的网址进行比较时,
analyzeNetwork(reluLayer);
% wait for it to load...
hWW = matlab.internal.webwindowmanager.instance.windowList(end);
我们看到了一条截然不同的路径:
>> hWW.URL
ans =
'https://localhost:31516/static/NetworkAnalyzer/index.html ...'
/static/NetworkAnalyzer/
转换为
C:\ProgramData\MATLAB\SupportPackages\R2018a\toolbox\nnet\supportpackages\analysis_report\webapp\analysis_report\
-- or equivalently --
file:///C:/ProgramData/MATLAB/SupportPackages/R2018a/toolbox/nnet/supportpackages/analysis_report/webapp/analysis_report/
我的问题是:
webwindow
时由MATLAB创建的任意路径,如何将其自动转换为绝对路径?到目前为止,我发现了一些线索:
C:\ProgramData\MATLAB\SupportPackages\R2018a\toolbox\nnet\supportpackages\analysis_report\registry\support_package_registry.xml
,其中包含以下信息:
basecode="NETWORK_ANALYZER"
...
<Path name="$(INSTALLDIR)/analysis_report"></Path>
matlab.addons.installedAddons
函数返回附加组件列表,告诉我们NETWORK_ANALYZER
是附加组件的标识符。工具箱的相关功能matlab.addons.toolbox.installedToolboxes
并没有帮助(在我的情况下返回了一个空数组)。
MATLAB使用.phl
文件,这些文件包含纯文本路径条目。
在插件的安装过程中,/static/NetworkAnalyzer/
引出的路径已添加到MATLAB path
中。