用js变量给embed标签的src赋值的问题

npu_1 2012-09-14 11:01:23
我要用enbed在网页中嵌入swf文件,但是希望swf文件的路径是用js变量表示,动态赋给embed标签的src的,请问这该怎么实现呢?试了很多次都不行。例如将下列代码中的playFile\201209132241085625.swf用一个变量a表示

<EMBED src="playFile\201209132241085625.swf" width="800" height="1000" play="true" loop="false" menu="true" quality="high" type="application/x-shockwave-flash" name="myFlash" swLiveConnect="true" ></EMBED>
...全文
476 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
npu_1 2012-09-15
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 的回复:]
本地路径感觉加载的很慢啊

<EMBED name="myFlash" src="1t2t_wos1_01.swf"
这里面你需要放一个初始值的,最好放一个1K的swf,如果不放,页面一直加载,window.onload就一直不执行,
[/Quote]
解决了,感谢啊
  • 打赏
  • 举报
回复
<div id="div_video">
<EMBED src="playFile\201209132241085625.swf" width="800" height="1000" play="true" loop="false" menu="true" quality="high" type="application/x-shockwave-flash" name="myFlash" swLiveConnect="true" ></EMBED>
</div>


js

var src = "playFile\201209132241085625.swf"; //得到地址
var html = '<EMBED src="' + src + '" width="800" height="1000" play="true" loop="false" menu="true" quality="high" type="application/x-shockwave-flash" name="myFlash" swLiveConnect="true" ></EMBED>';
$("#div_video").html(html);//动态改变
npu_1 2012-09-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

你可以将整个标签当做一段html文本,然后将标签放在一个div中

需要更改的时候,直接拼接出<EMBED src 整个标签,然后 $("#div").html('你拼出的标签');
[/Quote]
能具体说一说吗?新手,十分感谢
  • 打赏
  • 举报
回复
你可以将整个标签当做一段html文本,然后将标签放在一个div中

需要更改的时候,直接拼接出<EMBED src 整个标签,然后 $("#div").html('你拼出的标签');
孟子E章 2012-09-14
  • 打赏
  • 举报
回复

<script>
var swf = "swf/1wosowoso_flash_18.swf"
document.write('<EMBED name="myFlash" src="' + swf + '" width="400" height="200" play="true" loop="false" menu="true" quality="high" type="application/x-shockwave-flash" swLiveConnect="true" ></EMBED>')
</script>
注意路径格式的写法
这段代码放在原来写<EMBED 的地方啊
孟子E章 2012-09-14
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 的回复:]

引用 12 楼 的回复:

document.write('<EMBED src="playFile\201209132241085625.swf" width="800" height="1000" play="true" loop="false" menu="true" quality="high" type="application/x-shockwave-flash" name="……
[/Quote]
如果只显示一个,就写在你显示的地方啊。
孟子E章 2012-09-14
  • 打赏
  • 举报
回复
本地路径感觉加载的很慢啊

<EMBED name="myFlash" src="1t2t_wos1_01.swf"
这里面你需要放一个初始值的,最好放一个1K的swf,如果不放,页面一直加载,window.onload就一直不执行,
npu_1 2012-09-14
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

document.write('<EMBED src="playFile\201209132241085625.swf" width="800" height="1000" play="true" loop="false" menu="true" quality="high" type="application/x-shockwave-flash" name="myFlash" swLiveCo……
[/Quote]

这个加在哪个位置呢?
npu_1 2012-09-14
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

最好不要使用本地路径,直接使用我的代码测试
[/Quote]
为什么呢?确实本地路径感觉加载的很慢啊,但是我确实需要加载本地的swf
孟子E章 2012-09-14
  • 打赏
  • 举报
回复
使用本地路径的方法

<body>
<script>
var swf = "swf/1wosowoso_flash_18.swf"
var isIE = window.navigator.userAgent.indexOf("MSIE")>-1;

function changeSwf(){
if(isIE)
{

document.myFlash.src=swf;
document.myFlash.Movie=swf;
}
else
{
document.embeds["myFlash"].src=swf;
}
}
window.onload=changeSwf;
</script>
<EMBED name="myFlash" src="1t2t_wos1_01.swf" width="400" height="200" play="true" loop="false" menu="true" quality="high" type="application/x-shockwave-flash" swLiveConnect="true" ></EMBED>
xiedu414 2012-09-14
  • 打赏
  • 举报
回复
document.write('<EMBED src="playFile\201209132241085625.swf" width="800" height="1000" play="true" loop="false" menu="true" quality="high" type="application/x-shockwave-flash" name="myFlash" swLiveConnect="true" ></EMBED>

')
孟子E章 2012-09-14
  • 打赏
  • 举报
回复
最好不要使用本地路径,直接使用我的代码测试

npu_1 2012-09-14
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

HTML code
<body>
<script>
var swf =

["http://flash.1t2t.com/1wosowoso_flash_18.swf","http://flash.1t2t.com/w_o_10.swf","http://flash.1t2t.com/w_o_28.swf

"]
var isIE = window.navigator.userAgent.i……
[/Quote]
那这个能用相对路径引用的本地的swf文件吗?我试了下好像没反应啊
孟子E章 2012-09-14
  • 打赏
  • 举报
回复
这样啊
<body>
<script>
var swf = ["http://flash.1t2t.com/1wosowoso_flash_18.swf","http://flash.1t2t.com/w_o_10.swf","http://flash.1t2t.com/w_o_28.swf"]
var isIE = window.navigator.userAgent.indexOf("MSIE")>-1;
var i = 1;
function changeSwf(){
if(i>=swf.length) i=0;
if(isIE)
{
document.getElementById("player").src=swf[i];
document.getElementById("player").Movie=swf[i];
}
else
{
document.embeds["myFlash"].src=swf[i];
}
i++;
}
window.onload=changeSwf;
</script>
<EMBED id="player" src="http://flash.1t2t.com/1t2t_wos1_01.swf" width="400" height="200" play="true" loop="false" menu="true" quality="high" type="application/x-shockwave-flash" name="myFlash" swLiveConnect="true" ></EMBED>


也可以这样


<body>
<script>
var swf = "http://flash.1t2t.com/1wosowoso_flash_18.swf"
var isIE = window.navigator.userAgent.indexOf("MSIE")>-1;

function changeSwf(){
if(isIE)
{
alert(document.myFlash)
document.myFlash.src=swf;
document.myFlash.Movie=swf;
}
else
{
document.embeds["myFlash"].src=swf;
}
}
window.onload=changeSwf;
</script>
<EMBED name="myFlash" src="http://flash.1t2t.com/1t2t_wos1_01.swf" width="400" height="200" play="true" loop="false" menu="true" quality="high" type="application/x-shockwave-flash" swLiveConnect="true" ></EMBED>
孟子E章 2012-09-14
  • 打赏
  • 举报
回复
<body>
<script>
var swf =

["http://flash.1t2t.com/1wosowoso_flash_18.swf","http://flash.1t2t.com/w_o_10.swf","http://flash.1t2t.com/w_o_28.swf

"]
var isIE = window.navigator.userAgent.indexOf("MSIE")>-1;
var i = 1;
function changeSwf(){
if(i>=swf.length) i=0;
if(isIE)
{
document.getElementById("player").src=swf[i];
document.getElementById("player").Movie=swf[i];
}
else
{
document.embeds["myFlash"].src=swf[i];
}
i++;
}
window.onload=changeSwf;
</script>
<EMBED id="player" src="http://flash.1t2t.com/1t2t_wos1_01.swf" width="400" height="200" play="true" loop="false"

menu="true" quality="high" type="application/x-shockwave-flash" name="myFlash" swLiveConnect="true" ></EMBED>
孟子E章 2012-09-14
  • 打赏
  • 举报
回复
放在window.onload里面啊
npu_1 2012-09-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

采用这样的方法
HTML code
<body>
<script>
var swf =

["http://flash.1t2t.com/1wosowoso_flash_18.swf","http://flash.1t2t.com/w_o_10.swf","http://flash.1t2t.com/w_o_28.swf

"]
var isIE = window.navigator.us……
[/Quote]

可是我是要在页面加载的时候就把swf自动显示出来,不能要那个按钮的onclick,可怎么办呢?
孟子E章 2012-09-14
  • 打赏
  • 举报
回复
采用这样的方法
<body>
<script>
var swf =

["http://flash.1t2t.com/1wosowoso_flash_18.swf","http://flash.1t2t.com/w_o_10.swf","http://flash.1t2t.com/w_o_28.swf

"]
var isIE = window.navigator.userAgent.indexOf("MSIE")>-1;
var i = 1;
function changeSwf(){
if(i>=swf.length) i=0;
if(isIE)
{
document.getElementById("player").src=swf[i];
document.getElementById("player").Movie=swf[i];
}
else
{
document.embeds["myFlash"].src=swf[i];
}
i++;
}
</script>
<input type=button value="change" onclick="changeSwf()"/><br/>
<EMBED id="player" src="http://flash.1t2t.com/1t2t_wos1_01.swf" width="400" height="200" play="true" loop="false"

menu="true" quality="high" type="application/x-shockwave-flash" name="myFlash" swLiveConnect="true" ></EMBED>
npu_1 2012-09-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

HTML code
<div id="div_video">
<EMBED src="playFile\201209132241085625.swf" width="800" height="1000" play="true" loop="false" menu="true" quality="high" type="application/x-shockwave-flash" nam……
[/Quote]

我试了还是不行啊,您看我的代码有什么问题,多谢了
JS:

<script language="javascript" type="text/javascript">
var src="playFile\201209132241085625.swf";
var html = '<EMBED src="' + src + '" width="800" height="1000" play="true" loop="false" menu="true" quality="high" type="application/x-shockwave-flash" name="myFlash" swLiveConnect="true" ></EMBED>';
$("#div_video").html(html);
alert(html);
</script>


html部分

<body>
........
<td>
<div id="div_video">
<EMBED src="playFile\a.swf" width="800" height="1000" play="true" loop="false" menu="true" quality="high" type="application/x-shockwave-flash" name="myFlash" swLiveConnect="true" ></EMBED>
</div>
</td>
...........
</body>

这样还是不能把201209132241085625.swf这个文件显示出来啊

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧