- 浏览: 68486 次
- 性别:
- 来自: 武汉
最新评论
-
wanglantao:
谢谢了!!!!
ext中文API文档及例子 -
lilongsy:
问一下,phpcms和supesite哪个更好用?
我现在用 ...
phpcms转supesite转换程序bug修正 -
hwn0412:
辛苦了..刚好要用..
Ajax框架之ExtJs、DWR入门书籍 -
wkl17:
感谢楼主分享,但是step4修改了之后,进行转换,会提示
引用 ...
phpcms转supesite转换程序bug修正 -
Chen_ZX:
之前接触得比较少,现在有时间多学习一点。谢谢分享!
ext中文API文档及例子
最近做的一个php项目需求中有视频这个频道,于是研究了一下supesite,不过它是在资讯中可以插入多个视频,点击后才能播放,同时又能再次隐藏。于是看了一下代码.记录如下:
分析发现,当我们发布一篇含有视频的新闻时,在资讯查看页面(news.view.html.php)源文件里显示如下效果:
但是直接从代码上分析怎么会产生那种效果呢?答案就出在class=showvideo里,我们可以先在template/css/style.css里找到showvideo的样式如下:
还有一个就是最关键的地方: addMediaAction('articlebody');这个JS函数的用途就是将articlebody容器里的一些方法赋予一些动作。接着找到include/js/common.js,里面有如下的代码是控制这个效果的。
从上面我们可以看出,当系统运行addMediaAction('articlebody'); 时,首先JS会循环articlebody容器内的所有以KBD开头的语句,再根据视频播放的模式不同调用不同的方法.播放模式包含showflash,showvideo,showreal。然后开始调用showmedia函数,从 if ( Obj.tagName.toLowerCase()=='a' ) { smFile = Obj.href; } else { smFile = Obj.title; }这一行我们就可以看出来,当我们点击视频标题(如aaaaaaaaaaa)的时候,JS会通过点击的对象获取title(http://player.youku.com/player.php/sid/XMTM4OTAzNjUy/v.swf)作为视频播放的地址,串接出视频播放器代码并创建播放容器显示出来。反之则将播放容器通过removeChild移除。
*如果想让插入的视频或 FLASH 直接播放,下面的修改则可以设置为默认直接播放。
希望能帮助到需要的朋友~~!
分析发现,当我们发布一篇含有视频的新闻时,在资讯查看页面(news.view.html.php)源文件里显示如下效果:
<div id="article_body"> <P>百县视频资讯测试喽百县视频资讯测试喽</P> <P><BR>Flash: <KBD class=showflash title=http://player.youku.com/player.php/sid/XMTM4OTAzNjUy/v.swf>http://player.youku.com/player.php/sid/XMTM4OTAzNjUy/v.swf</KBD><BR></P></div> </div>
但是直接从代码上分析怎么会产生那种效果呢?答案就出在class=showvideo里,我们可以先在template/css/style.css里找到showvideo的样式如下:
#articlebody kbd.showvideo{ font: 1em Arial, Helvetica, sans-serif; cursor: pointer; text-decoration: underline; }
还有一个就是最关键的地方: addMediaAction('articlebody');这个JS函数的用途就是将articlebody容器里的一些方法赋予一些动作。接着找到include/js/common.js,里面有如下的代码是控制这个效果的。
function getbyid(id) { if (document.getElementById) { return document.getElementById(id); } else if (document.all) { return document.all[id]; } else if (document.layers) { return document.layers[id]; } else { return null; } } //显示隐藏媒体 function addMediaAction(div) { var thediv = getbyid(div); if(thediv) { var medias = thediv.getElementsByTagName('kbd'); if(medias) { for (i=0;i<medias.length;i++) { if(medias[i].className=='showvideo' || medias[i].className=='showflash'|| medias[i].className=='showreal') { medias[i].onclick = function() {showmedia(this,400,400)}; } } } } } function showmedia(Obj, mWidth, mHeight) { var mediaStr, smFile; if ( Obj.tagName.toLowerCase()=='a' ) { smFile = Obj.href; } else { smFile = Obj.title; } var smFileType = Obj.className.toLowerCase(); switch(smFileType){ case "showflash": mediaStr="<p style='text-align: right; margin: 0.3em 0; width: 520px;'>[<a href='"+smFile+"' target='_blank'>全屏观看</a>]</p><object codeBase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width='520' height='390'><param name='movie' value='"+smFile+"'><param name='quality' value='high'><param name='AllowScriptAccess' value='never'><embed src='"+smFile+"' quality='high' pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width='520' height='390'></embed></OBJECT>"; break; case "showvideo": mediaStr="<object width='520' classid='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6'><param name='url' value='"+smFile+"' /><embed width='520' type='application/x-mplayer2' src='"+smFile+"'></embed></object>"; break; case "showreal": mediaStr="<object classid='clsid:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA' width='520' height='390' id='RealMoviePlayer' border='0'><param name='_ExtentX' value='13229'><param name='_ExtentY' value='1058'><param name='controls' value='ImageWindow,controlpanel'><param name='AUTOSTART' value='1'><param name='CONSOLE' value='_master'><param name='SRC' value='"+smFile+"'><EMBED SRC='"+smFile+"' WIDTH='520' type='audio/x-pn-realaudio-plugin' HEIGHT='390' NOJAVA='true' CONTROLS='ImageWindow,controlpanel' AUTOSTART='true' REGION='newsregion' CONSOLE='one'></EMBED></object>"; } var mediaDiv = document.getElementById(escape(smFile.toLowerCase())); if (mediaDiv) { Obj.parentNode.removeChild(mediaDiv); } else { mediaDiv = document.createElement("div"); mediaDiv.style.cssText = "text-align:center;text-indent:0"; mediaDiv.id = escape(smFile.toLowerCase()); mediaDiv.innerHTML = mediaStr; Obj.parentNode.insertBefore(mediaDiv,Obj.nextSibling); } return false; }
从上面我们可以看出,当系统运行addMediaAction('articlebody'); 时,首先JS会循环articlebody容器内的所有以KBD开头的语句,再根据视频播放的模式不同调用不同的方法.播放模式包含showflash,showvideo,showreal。然后开始调用showmedia函数,从 if ( Obj.tagName.toLowerCase()=='a' ) { smFile = Obj.href; } else { smFile = Obj.title; }这一行我们就可以看出来,当我们点击视频标题(如aaaaaaaaaaa)的时候,JS会通过点击的对象获取title(http://player.youku.com/player.php/sid/XMTM4OTAzNjUy/v.swf)作为视频播放的地址,串接出视频播放器代码并创建播放容器显示出来。反之则将播放容器通过removeChild移除。
*如果想让插入的视频或 FLASH 直接播放,下面的修改则可以设置为默认直接播放。
将下面这段: //显示隐藏媒体 function addMediaAction(div) { var thediv = getbyid(div); if(thediv) { var medias = thediv.getElementsByTagName('kbd'); if(medias) { for (i=0;i<medias.length;i++) { if(medias[i].className=='showvideo' || medias[i].className=='showflash'|| medias[i].className=='showreal') { medias[i].onclick = function() {showmedia(this,400,400)}; } } } } } 修改为 //显示隐藏媒体 function addMediaAction(div) { var thediv = getbyid(div); if(thediv) { var medias = thediv.getElementsByTagName('kbd'); if(medias) { for (i=0;i<medias.length;i++) { if(medias[i].className=='showvideo' || medias[i].className=='showflash'|| medias[i].className=='showreal') { medias[i].onclick = function() { showmedia(this,400,400) }; showmedia(medias[i],400,400); } } } } } 也就是在for循环中加上showmedia(medias[i],400,400);这句调用就可以了~!
希望能帮助到需要的朋友~~!
发表评论
-
php之smarty技术中文文档
2009-12-07 19:46 1153最近因工作关系投身于了php语言.基于上都是基于supesit ... -
phpcms转supesite转换程序bug修正
2009-12-03 21:13 1940因客户前期使用的门户站是phpcms产品,现要升级到康盛的su ... -
Android通用布局对象
2009-09-02 14:49 3097FrameLayout FrameLayout is the ... -
java p2p技术
2009-07-27 10:45 5140英文原文地址: http://ww ... -
承接Java项目
2009-07-13 15:09 933本人从事软件开发4年,主要为供电局做远程集抄、营销系统、MIS ... -
WEB前端高性能优化之JavaScript优化细节
2009-06-11 14:07 771作为一名网站开发WEB前端工程师,对自己开发的网站项目应该尽可 ... -
NIO的基本概念及简单示例
2009-04-03 14:43 1696在JDK 1.4的新特性中,NIO无疑是最显著和鼓舞人心的。N ... -
Ext官方中文教程
2009-03-25 15:09 3624Extjs.com官方中文教程列表: so good~~! ... -
程序员的十层楼(菜鸟,大虾,牛人......)
2009-03-19 10:41 1079到底中国的程序员水平比西方程序员水平差,还是中国有许多优秀的程 ... -
欲为Java技术大牛所需的25个学习要点
2009-02-24 10:17 7541. 你需要精通面向对象 ... -
Java对象的生命周期分析
2009-01-17 15:20 2478从以下可心看出使 ... -
软件工程师不可不知的10个概念
2009-01-17 13:27 673出色的软件工程师善用设计模式,勤于代码重构,编写单元测试,并对 ... -
类设计的技巧
2008-12-31 10:09 893设计一个类要明确这个类所要完成的功能,类里的成员变量和 ... -
架构设计的几个心得
2008-12-24 09:57 849一,不要过设计:never o ... -
B/S前端优化
2008-12-03 12:02 8321. 合并脚本文件 包括 ... -
30个优秀源码网站
2008-11-28 14:25 1109从csdn上摘录下来,记录一下 1.51源码:http:// ... -
避免发生与安全有关的javascript错误
2008-11-28 11:40 941會產生 JavaScript錯誤: eval() 函數 s ... -
java socket/Serversocket编程详解(中/英文)
2008-10-23 15:09 2376socket /套接字 Sockets let y ... -
ext中文API文档及例子
2008-09-26 18:51 5283附件为一个chm文件,主要以ext文档为主,还附有一些ext包 ... -
Eclipse匆删恢复
2008-09-20 16:05 1270昨天coding时,不知道是脑袋抽筋还是咋滴了,一不小心把一个 ...
相关推荐
详细介绍了SupeSite主题管理这一功能的使用方法。
包括:supesite使用手册 supesite文件,目录说明 supesite建站常用代码
SupeSite 是一套独立的内容管理系统(CMS),并且拥有强大对 Discuz! 论坛信息和 UCenter Home 个人空间信息聚合的功能。为站长提供了一个创新的社区门户解决方案。通过 SupeSite 软件,社区论坛相关内容可以完成...
通过安装使用SupeSite/X-Space,网站建设者可以轻松、迅速和高效的构建拥有高度Web2.0特性的社区门户,为站点的会员提供包含日志(博客)、影音视频(播客)、群组(圈子)、相册图片、商品买卖、软件分享、书签收藏等在内...
本教程主要为大家讲解SupeSite的资讯是如何发布的,以及SupeSite的资讯该怎么样去管理。
SupeSite7.5用户手册 参考 SupeSite7.5用户手册 参考 SupeSite7.5用户手册 参考
SupeSite 信息发布系统 PHP源代码
模块功能是 SupeSite 系统的一个亮点,通过该功能您可以随心所欲的打造您需要的模板,什么地方显示什么模块,调用什么内容,如何样的风格,尽在您的掌握。 在模块管理中,通过选择现有的模板代码,根据自己的需要,...
数据调用完全向导化、模块化、缓存化,完全可以满足页面中不同数据的调用显示,并自动拥有高效的缓存功能,大大降低服务器的负载,提高站点访问速度; 全面聚合Discuz!论坛数据 可以实现指定Discuz!板块、特定帖子...
详细为大家介绍了SupeSite中个人空间管理分类这一功能的具体使用。
数据调用完全向导化、模块化、缓存化,完全可以满足页面中不同数据的调用显示,并自动拥有高效的缓存功能,大大降低服务器的负载,提高站点访问速度; 全面聚合Discuz!论坛数据 可以实现指定Discuz!板块、特定帖子...
supesite开发文档.pdf
supesite 二次开发手册 SupeSite模板开发必备
supesite7.5 采集supesite7.5 采集supesite7.5 采集supesite7.5 采集supesite7.5 采集
SupeV是我们开发的一套视频播客系统,基本上囊括了现阶段主流视频网站所拥有的全部功能,如视频的上传、播放、分享等应用,此外还包括用户的博客空间、个人专辑、最新最热关注等增加用户体验的细节功能。此外,SupeV...
Supesite7.5饮食健康网模板[基于supesite官方模板修改而成] 演示地址:http://www.yinshijiankang.com 给你一个健康向上的视觉享受,完全基于supesite官方模板修改而成,兼容性百分百,无任何视觉上的显示误差!
supeSite 用户手册supeSite 用户手册supeSite 用户手册supeSite 用户手册supeSite 用户手册supeSite 用户手册supeSite 用户手册supeSite 用户手册supeSite 用户手册supeSite 用户手册
详细的介绍了SupeSite是什么,以及SupeSite有哪些特殊的功能。
SupeSite7.5 仿站长网模板风格 演示 http://www.uuftp.com/news
功能包括:资讯管理、资讯发布、资讯审核、资讯分类、资讯字段自定义等,让网站能够更...资讯权限与用户组权限相结合,站长可以将资讯的发布、管理、审核等权限设置于不同的用户组,让指定的用户组拥有资讯管理功能。