当前位置: 代码迷 >> Delphi >> 用webbrowser提取网页.swf地址时,出现有关问题
  详细解决方案

用webbrowser提取网页.swf地址时,出现有关问题

热度:2007   发布时间:2013-02-25 00:00:00.0
用webbrowser提取网页.swf地址时,出现问题。
如题,比如这个网址(http://www.xue163.com/html/20091124/1607875)
我用这个代码提取不出来:
var
  MyVideo: OleVariant;
  i: Integer;
  MyTempStr:string;
  MyFileSize:Integer;
  MyFileHandle:integer;
begin
  MyFileSize:=0;
  MyVideo:= MyWebbrowse.OleObject.document.getElementsByTagName('embed');
  for i := 0 to MyVideo.length - 1 do
  begin
  try
  MyTempStr:=MyVideo.item(i).src;
  memo1.lines.add(mytempstr);
  except
  end;
  end;
end;
但是这个网址里确实有一个.swf地址
请问这是怎么回事呢?

有人帮解释下么?或者给予解答

------解决方案--------------------------------------------------------
获取所有网址,再提取这些网址的源代码,你会发现里面有.swf网址
如:
<!--通栏广告--> 
<div class="wrapper AdTop-Article-xue163"> 
<div style="width:960px;height:90px;"><iframe name="Iframe1" src="http://img.xue163.com/newadend/adqianru96090.htm"; marginwidth="0" marginheight="0" height="90" width="960" title="TOPAD" scrolling="no" border="0" frameborder="0">您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。</iframe></div> 

然后这个网页http://img.xue163.com/newadend/adqianru96090.htm
通过脚本产生flash的
<script language="javascript" type="text/javascript"> 
var fo = new SWFObject("http://img.zgxue.com/newtemp3/xiaoyouxi.swf";, "_AD4_1", "960", "90", "7");
fo.addParam("wmode", "opaque");
fo.write("ban4");</script>

多打开几层就知道了
  相关解决方案