在页面加载后在设置embed 的src 怎么实现?
我想在页面加载完之后,再给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&&判断数字是否为两位数
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 页面加载后resize页面布局
在我们写web的时候,有的时候页面加载完以后,布局位置有一些问题,手动改变窗口大小后则正常显示位置. 其实,我们手动改变窗口大小,是执行了resize方法. share一下兼容方法: coffee c ...
- jquery实现移动端页面加载后,向上滚动指定距离无效引起的探索
效果如下,页面加载完后向上滚动一段距离 最近一同事询问用jquery为何无法实现上面效果,查看代码后发现代码并没写错, 也正确引入了zepto.js,也不是版本问题(因为是移动端项目,出于性能和需 ...
- jQuery 页面加载后执行的事件(3 种方式)
刚刚工作,没怎么用过 jQuery.今天在工作中遇到一个 jQuery 问题,页面加载的时候需要触发函数,第一直觉告诉我应该写成 onload(),结果不是.后来查了文档发现是 load(),但是版本 ...
- Jquery 在页面加载后执行的几种方式
1.$(function(){ $("#a").click(function(){ //adding your code here }); }); 2.$(document) ...
- 页面加载后的input change事件 1或2个框 ajax
数据层没有,js和bll直接链接,数据层用的hqew. js: window.onload = function () { //型号input 改变 事件 $("#typeofproduct ...
- jQuery页面加载后执行的事件(3种方式)
$(function () { }); $(document).ready(function () { }); window.onload = function () { }
- Angular页面加载后自动弹窗
首先在控制器内写好一个弹窗,我用的是ionic的默认提示对话框 // 一个确认对话框 $scope.showConfirm = function() { var confirmPopup = $ion ...
- 使用 v-cloak 防止页面加载时出现 vuejs 的变量名
使用 vuejs 做了一个简单的功能页面,逻辑是,页面加载后获取当前的经纬度,然后通过 ajax 从后台拉取附近的小区列表.但是 bug 出现了,在显示小区列表之前,会闪现小区名对应的 vuejs 变 ...
随机推荐
- 【原创】相对完整的一套以Jmeter作为工具的性能测试教程(接口性能测试,数据库性能测试以及服务器端性能监测)
准备工作 jmeter3.1,为什么是3.1,因为它是要配合使用的serveragent所支持的最高版本,下载链接 https://pan.baidu.com/s/1dWu5Ym JMeterPlug ...
- 【总目录】——概率论与数理统计及Python实现
注:这是一个横跨数年的任务,标题也可以叫做“从To Do List上划掉学习统计学”.在几年前为p值而苦恼的时候,还不知道Python是什么:后来接触过Python,就喜欢上了这门语言.统计作为数据科 ...
- nodejs爬虫笔记(五)---利用nightmare模拟点击下一页
目标 以腾讯滚动新闻为例,利用nightmare模拟点击下一页,爬取所有页面的信息.首先得感谢node社区godghdai的帮助,开始接触不太熟悉nightmare,感觉很高大上,自己写代码的时候问题 ...
- linux判断文件是否存在
#!/bin/sh myPath="/var/log/httpd/" myFile="/var /log/httpd/access.log" # 这里的-x 参 ...
- MVC登出友情提示
好奇心害死猫,话说12月30号,阳历17年末,行至小镇农户,有羊在鸣,由于好奇心泛滥,循声而至,发现一只被拴住的羊,好心喂草,不料反被舔了一口,得亏抽手及时,不然小拇指估计被咬掉,没错,是咬掉,即使如 ...
- 文本与二进制关于\n的问题
文本文件中: text = open(path, "r");windows中的换行符\n,在文件中windows在存储的时候会将它看成\r\n存储,用r在读取大小时会忽略\r的大小 ...
- [HTTP] PHP 实现 HTTP Server 原理
单进程服务器简陋版: <?php /** * Single http server. * * Access http://127.0.0.1:8081 * * @license Apache-2 ...
- python数据类型之元组、字典、集合
python数据类型元组.字典.集合 元组 python的元组与列表类似,不同的是元组是不可变的数据类型.元组使用小括号,列表使用方括号.当元组里只有一个元素是必须要加逗号: >>> ...
- 如何解决Linux 系统下 ifconfig 命令无网络接口 ens33
今天我在做Redis的哨兵集群模式的时候,以前都是好的,也不知道从什么时候开始就无法连接Redis服务器了,就是运行如下命令,没有效果:redis-server redis.conf,然后在通过命令查 ...
- 为什么webstrom无法格式化代码?
用过webstrom的童鞋都知道格式化代码需要按快捷键:ctrl+Alt+L:可是我最近发现这个快捷键不管用,今天终于知道了原因, 是后台网易云音乐没有关,和网易云音乐的快捷键冲突了,就是这么神奇没办 ...