我有一个已编译的matlab应用程序,其中包含gui。此gui中还包含一个网页index.html。在html中,有一个指向网站的超链接。单击此链接时,我希望Matlab在外部浏览器中加载网页。当前,这是我使用的超链接:
<a href="matlab:web('http://www.google.com','-browser')">Help</a>
但是,单击后,编译的程序将崩溃并立即关闭。当我从matlab中启动程序时,不会发生这种情况。在这种情况下,它可以按预期(和想要)运行。该效果仅在编译应用程序时出现。为什么是这样?有什么办法可以解决?
编辑:这是一个简单的可验证示例,等等。
首先是简单的matlab代码:
% Create a blank figure window
f=figure('Name','Browser GUI Fail','Units','norm');
% Add the browser object
com.mathworks.mlwidgets.html.HTMLRenderer.setUseWebRenderer(false);
jObject = com.mathworks.mlwidgets.html.HTMLBrowserPanel;
[browser,container] = javacomponent(jObject, [], f);
set(container,'Units','normalized','Position',[0 0 1 1 ]);
url=['file:/' which('index.html') ];
browser.setCurrentLocation(url);
第二个html文件index.html
<!DOCTYPE html>
<html>
<body>
<p>stuff, anything at all <a href="matlab:web('http://www.google.com','-browser')">Help</a> </p>
</body>
</html>
在程序的编译版本中,链接失败。我在Windows上,并且使用2014b。
答案 0 :(得分:3)
我在Windows编译的GUI中有一个类似的问题,我使用dos调用解决了该问题。
dos('start http://www.google.com');