我想在页面加载完之后,再给embed 加入src 值,但embed 后播放不了。
下面是我的两个方案,都无法播放,求解:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<embed allowFullScreen="true" id="embedid" quality="high" width="620" height="500" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash"></embed>
<script type="text/javascript">
$(function(){
$("#embedid").attr("src","http://player.youku.com/player.php/sid/XMzE5NDUyNTcy/v.swf");
/* var ebd = document.getElementById("embedid");
ebd.src = "http://player.youku.com/player.php/sid/XMzE5NDUyNTcy/v.swf";*/
})
</script>

1、

embed 和 object 因为数据(video, audio, flash, activex)的特殊性,跟一般DOM处理上有所不同,在载入后浏览器会拒绝改变它们的 src 属性。

解决这个问题的简单方法是插入整个 embed 元素。 如果是要改变已经在播放的 embed 的话,那得删除掉原来的一个再重新插入完整的 embed 了。。。

<div id="box"></box>
 
var box = document.getElementById('box')
,str = '<embed allowFullScreen="true" id="embedid" quality="high" width="620" height="500" align="middle" src="http://player.youku.com/player.php/sid/XMzE5NDUyNTcy/v.swf" allowScriptAccess="always" type="application/x-shockwave-flash"></embed>';
box.innerHTML = str;

2、

embed嵌入式对象是比较特殊的,你一旦嵌入到文档中无论怎么改src它都不会重新加载。其实你了解它的道理后也不难理解,它实质上是浏览器调用的外部插件来渲染的(比如你的例子就是调用的flash插件),这个渲染过程是在嵌入的时候就完成了,而这些属性也都是嵌入的时候传递给插件的。所以当你后面动态修改这些属性的时候,是不会重新传递这些属性的。

要解决这个问题非常简单。你直接把这个嵌入对象用jQuery插入就行了,记得把src要写在里面哦,比如这样

<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>

<div id="player"></div>

<script type="text/javascript">
$(function(){
$('<embed allowFullScreen="true" id="embedid" quality="high" width="620" height="500" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" src="http://player.youku.com/player.php/sid/XMzE5NDUyNTcy/v.swf"></embed>').appendTo('#player');
})
</script>

在页面加载后在设置embed 的src 怎么实现?的更多相关文章

  1. 页面加载后累加,自加1&&判断数字是否为两位数

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. 页面加载后resize页面布局

    在我们写web的时候,有的时候页面加载完以后,布局位置有一些问题,手动改变窗口大小后则正常显示位置. 其实,我们手动改变窗口大小,是执行了resize方法. share一下兼容方法: coffee c ...

  3. jquery实现移动端页面加载后,向上滚动指定距离无效引起的探索

    效果如下,页面加载完后向上滚动一段距离 最近一同事询问用jquery为何无法实现上面效果,查看代码后发现代码并没写错,   也正确引入了zepto.js,也不是版本问题(因为是移动端项目,出于性能和需 ...

  4. jQuery 页面加载后执行的事件(3 种方式)

    刚刚工作,没怎么用过 jQuery.今天在工作中遇到一个 jQuery 问题,页面加载的时候需要触发函数,第一直觉告诉我应该写成 onload(),结果不是.后来查了文档发现是 load(),但是版本 ...

  5. Jquery 在页面加载后执行的几种方式

    1.$(function(){  $("#a").click(function(){  //adding your code here  }); }); 2.$(document) ...

  6. 页面加载后的input change事件 1或2个框 ajax

    数据层没有,js和bll直接链接,数据层用的hqew. js: window.onload = function () { //型号input 改变 事件 $("#typeofproduct ...

  7. jQuery页面加载后执行的事件(3种方式)

    $(function () { }); $(document).ready(function () { }); window.onload = function () { }

  8. Angular页面加载后自动弹窗

    首先在控制器内写好一个弹窗,我用的是ionic的默认提示对话框 // 一个确认对话框 $scope.showConfirm = function() { var confirmPopup = $ion ...

  9. 使用 v-cloak 防止页面加载时出现 vuejs 的变量名

    使用 vuejs 做了一个简单的功能页面,逻辑是,页面加载后获取当前的经纬度,然后通过 ajax 从后台拉取附近的小区列表.但是 bug 出现了,在显示小区列表之前,会闪现小区名对应的 vuejs 变 ...

随机推荐

  1. 文本与二进制关于\n的问题

    文本文件中: text = open(path, "r");windows中的换行符\n,在文件中windows在存储的时候会将它看成\r\n存储,用r在读取大小时会忽略\r的大小 ...

  2. ASP.NET Core 2.0 : 一. 概述

    为什么要使用 ASP.NET Core? .NET Core 刚发布的时候根据介绍就有点心里痒痒, 大概看了一下没敢付诸于行动,  现在2.0发布了一段时间了, 之前对其"不稳定" ...

  3. 使用命令行生成jar包

    测试用类 public class Hello { public static void main(String[] args) { System.out.println("hello wo ...

  4. CentOS6.9编译安装nginx1.4.7

    1.系统安装开发包组和zlib-devel,关闭iptables [root@bogon ~]# yum groupinstall -y "Development Tools" [ ...

  5. 正确理解python的装饰器

    一直在用别人写的装饰器,从来没有对其原理进行深入的探究.今天趁有点闲着的时间,把装饰器的原理好好看了一遍,做一下整理. 一.装饰器的基本原理 装饰器就是一个可以接受调用也可以返回调用的调用.装饰器本身 ...

  6. BZOJ 2916: [Poi1997]Monochromatic Triangles [计数]

    题意:空间中有n个点,任意3个点不共线.每两个点用红线或者蓝线连接,如果一个三角形的三边颜色相同,那么称为同色三角形.给你一组数据,计算同色三角形的总数. 考虑补集,异色三角形 每个点的边红色和蓝色两 ...

  7. BZOJ 2986: Non-Squarefree Numbers [容斥原理 二分]

    题意:求第$n \le 10^{10}$个不是无平方因子数 二分答案, 容斥一下,0个质数的平方因子-1个..... 枚举$\sqrt$的平方因子乘上莫比乌斯函数,最后求出无平方因子数的个数取补集 # ...

  8. BZOJ 3456: 城市规划 [多项式求逆元 DP]

    题意: 求出n个点的简单(无重边无自环)无向连通图数目.方案数mod 1004535809(479 * 2 ^ 21 + 1)即可. n<=130000 DP求方案 g(n) n个点所有图的方案 ...

  9. ettercap+urlsnarf+driftnet+wireshark监听妹子上网

    搞事肯定得确认目标.所以我们得先确认一个目标 确认目标这种事情不多说.   1.开启IP转发 echo 1 > /proc/sys/net/ipv4/ip_forward 然后ettercap ...

  10. DirectSound---简易Wav播放器

    这篇文章主要给大家介绍下如何用DirectSound打造一个简易播放器,因为篇幅有限且代码逻辑较为复杂,我们只介绍下核心技术内容.该播放器主要包括以下功能: 播放.暂停 播放进度提示. 1. Dire ...