Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Matlab中检测外部浏览器的URL?_Matlab_Url_Browser_External - Fatal编程技术网

在Matlab中检测外部浏览器的URL?

在Matlab中检测外部浏览器的URL?,matlab,url,browser,external,Matlab,Url,Browser,External,我通常通过“web”命令使用Matlab的内部浏览器,但它给我带来了一个问题,有时无法检测用户何时单击我通过Matlab管理的在线调查的下一步。我从来没有在任何外部浏览器Firefox、Chrome、IE上遇到过这样的问题。我想在用户完成调查时自动关闭浏览器。我知道用户在完成调查后将访问的URL,因此可以查看他们浏览器的URL是否是他们在完成调查后将访问的URL。 现在,使用内部Matlab浏览器,我使用: [s,bwser] = web(url2, '-new', '-notoolbar',

我通常通过“web”命令使用Matlab的内部浏览器,但它给我带来了一个问题,有时无法检测用户何时单击我通过Matlab管理的在线调查的下一步。我从来没有在任何外部浏览器Firefox、Chrome、IE上遇到过这样的问题。我想在用户完成调查时自动关闭浏览器。我知道用户在完成调查后将访问的URL,因此可以查看他们浏览器的URL是否是他们在完成调查后将访问的URL。 现在,使用内部Matlab浏览器,我使用:

[s,bwser] = web(url2, '-new', '-notoolbar', '-noaddressbox'); 
cloc = get(bwser, 'currentLocation'); 
然后检查cloc是否等于给定的URL。我想用外部浏览器做同样的事情。我知道如何调用外部浏览器并为其分配URL。 但是,在参与者单击链接后,如何从该浏览器检索当前URL

您可以尝试以下方法:

function RunSurvey( startURL, finalURL )
    finalURL = lower(finalURL);
    hfig = figure( 'Menu','none','Name','Survey',...
        'ResizeFcn',@reSize,...
        'DeleteFcn',@figDelete);
    hExp = actxcontrol('Shell.Explorer.2',calcSize,hfig);
    Navigate(hExp,startURL);
    while (true)
        pause(1);
        current = lower(get(hExp,'LocationURL'));
        if ~isempty(strfind(current,finalURL))
            break;
        end
    end
    close( hfig )

% Figure delete function
function figDelete(src,evnt)
    hExp.delete;
end

function [size]=calcSize()
        pos = get(hfig,'Position');
    size = [2 2 pos(3)-5 pos(4)-20];
end

function reSize(src,evnt)
  if ~exist('hExp','var')
     return
  end
  move(hExp,calcSize);
end % reSize

end % RunSurvey
电话使用:

RunSurvey('www.google.com','www.mathworks.com')