我正在尝试读取我在 url 的响应中获得的 flash 文件的 src 属性,并通过 swfobject 创建一个新文件。但是当我阅读嵌入标签的 src 时,它返回“未定义”。我的代码如下。
我正在发帖的页面,里面只有 flash 文件。
回复如下:
AJAX 响应
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="930" height="630" title="Campaign">
<param name="movie" value="final5.swf" />
<param name="quality" value="high" />
<embed src="final5.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="930" height="630"></embed>
</object>
脚本
$.ajax({
url: flashUrl,
type: "POST",
dataType:"html",
success: function(data, status, xhr) {
var swfUrl = flashUrl.substr(0, flashUrl.lastIndexOf('/')) + "/" + $(data).find('embed').attr('src');
$('.content').html('<div id="mySwf"></div>');
swfobject.embedSWF(swfUrl, "mySwf", "200", "200", '9.0.0', "/resources/expressInstall.swf", flashvars, attributes, params);
}
});
* * *更新(找到问题区域但未找到解决方案)
我有点知道问题是什么,但我不知道它发生了。当我在 IE 中运行带有 flash 文件的页面时。它以一种奇怪的方式呈现它
<object width="930" height="630" title="Campaign" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codeBase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" altHtml="
<embed src="skf-final5.swf" type="application/x-shockwave-flash" width="930" height="630" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" > </embed>
">
它向对象添加了一些altHTML属性,并且整个 embed 标记都进入其中,从而搞砸了整个东西。:(