- 浏览: 70370 次
- 性别:
- 来自: 武汉
最新评论
-
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 1230最近因工作关系投身于了php语言.基于上都是基于supesit ... -
phpcms转supesite转换程序bug修正
2009-12-03 21:13 2000因客户前期使用的门户站是phpcms产品,现要升级到康盛的su ... -
Android通用布局对象
2009-09-02 14:49 3163FrameLayout FrameLayout is the ... -
java p2p技术
2009-07-27 10:45 5197英文原文地址: http://ww ... -
承接Java项目
2009-07-13 15:09 1012本人从事软件开发4年,主要为供电局做远程集抄、营销系统、MIS ... -
WEB前端高性能优化之JavaScript优化细节
2009-06-11 14:07 804作为一名网站开发WEB前端工程师,对自己开发的网站项目应该尽可 ... -
NIO的基本概念及简单示例
2009-04-03 14:43 1796在JDK 1.4的新特性中,NIO无疑是最显著和鼓舞人心的。N ... -
Ext官方中文教程
2009-03-25 15:09 3724Extjs.com官方中文教程列表: so good~~! ... -
程序员的十层楼(菜鸟,大虾,牛人......)
2009-03-19 10:41 1125到底中国的程序员水平比西方程序员水平差,还是中国有许多优秀的程 ... -
欲为Java技术大牛所需的25个学习要点
2009-02-24 10:17 7931. 你需要精通面向对象 ... -
Java对象的生命周期分析
2009-01-17 15:20 2510从以下可心看出使 ... -
软件工程师不可不知的10个概念
2009-01-17 13:27 711出色的软件工程师善用设计模式,勤于代码重构,编写单元测试,并对 ... -
类设计的技巧
2008-12-31 10:09 932设计一个类要明确这个类所要完成的功能,类里的成员变量和 ... -
架构设计的几个心得
2008-12-24 09:57 882一,不要过设计:never o ... -
B/S前端优化
2008-12-03 12:02 8691. 合并脚本文件 包括 ... -
30个优秀源码网站
2008-11-28 14:25 1187从csdn上摘录下来,记录一下 1.51源码:http:// ... -
避免发生与安全有关的javascript错误
2008-11-28 11:40 985會產生 JavaScript錯誤: eval() 函數 s ... -
java socket/Serversocket编程详解(中/英文)
2008-10-23 15:09 2456socket /套接字 Sockets let y ... -
ext中文API文档及例子
2008-09-26 18:51 5347附件为一个chm文件,主要以ext文档为主,还附有一些ext包 ... -
Eclipse匆删恢复
2008-09-20 16:05 1318昨天coding时,不知道是脑袋抽筋还是咋滴了,一不小心把一个 ...
相关推荐
通过手册,你可以了解如何配置站点基本信息,创建栏目,发布新闻、图片和视频等内容,以及设置会员系统和评论功能。 2. **Supesite 文件与目录说明** Supesite 的文件结构清晰,包括了核心程序文件、模板文件、...
SupeSite是一款功能强大的社区管理系统,被广泛应用于构建各类在线社区和论坛。其中,“个人空间管理分类”功能是SupeSite中的一项重要特性,它允许用户对个人空间内的各种内容进行细致的分类管理,包括但不限于日志...
在SupeSite系统中,用户可能可以上传图片、文档、视频等各种类型的文件,这些文件会被存储在此目录下。为了保证网站的稳定性和安全性,管理员需要合理设置权限,防止非法文件上传或恶意攻击。 总的来说,SupeSite ...
SupeSite是一款强大的网站内容管理系统,它提供了丰富的功能来构建和管理各种类型的在线社区,如博客、资讯、论坛等。这个开发文档详细介绍了SupeSite的各个关键部分,包括全局设置、各模块的特性和配置,以及模板...
SupeSite 是一套独立的内容管理系统(CMS),并且拥有强大对 Discuz! 论坛信息和 UCenter Home 个人空间信息聚合的功能。为站长提供了一个创新的社区门户解决方案。通过 SupeSite 软件,社区论坛相关内容可以完成...
在supesite /discuz系统中,有时候我们需要获取当前用户的用户名以便进行个性化设置或者实现某些特定功能。本文将详细介绍如何通过修改`batch.panel.php`文件来实现这一目标。 #### 文件定位与修改 1. **打开指定...
- **SupeSite**是一款功能强大的内容管理系统(Content Management System, CMS),它主要用于构建和管理各种类型的网站,特别是那些需要频繁更新内容的站点。SupeSite提供了一个灵活易用的平台,帮助用户轻松管理网站...
通过安装使用SupeSite/X-Space,网站建设者可以轻松、迅速和高效的构建拥有高度Web2.0特性的社区门户,为站点的会员提供包含日志(博客)、影音视频(播客)、群组(圈子)、相册图片、商品买卖、软件分享、书签收藏等在内...
在互联网内容管理领域,SupeSite是一款广泛使用的开源网站管理系统,以其强大的功能和灵活性受到众多网站管理员的青睐。此次我们关注的是SupeSite7.5版本,它特别引入了一种仿站长网的模板风格,为用户提供了更加...
综上所述,这个压缩包提供了一系列用于采集Supesite7.5相关数据的工具,涵盖了从自动化执行、网页解析到特定领域信息抓取的多个方面,对于想要对Supesite7.5网站进行数据分析或监控的用户来说,是一份宝贵的资源。...
SupeSite采集器是一款专门针对SupeSite平台设计的数据抓取工具,主要用于自动化或半自动化地从互联网上获取信息,并将其整合到SupeSite系统中。根据官方文档介绍,SupeSite采集器提供了两种采集方式:**手工采集**与...
SupeSite 模板文件存放于 templates 文件夹中,默认模板文件夹为 default 文件夹。模板文件的命名规则遵循“前缀”+“-”+“文件名称”+“.HTML.PHP”方式命名,前缀为频道分类,文件名称为文件的功能的英文名称。 ...
标题 "supesite 自动采集机器人" 涉及的核心技术是SupeSite系统的自动采集功能,这是一种网站内容管理系统(CMS)的高级特性,用于自动化地从其他网站或数据源获取信息并将其整合到自己的站点上。这通常涉及到网络...
Supesite提供了一套完善的后台管理系统,包括频道管理、文章发布、模板编辑、权限控制等功能,帮助网站管理员高效地运营和维护站点。 3. UCenter UCenter是Comsenz公司的统一用户中心系统,它连接并管理多个Comsenz...
通过阅读《SupeSite.X-Space用户手册.chm》提供的详细指导,用户将能够全面了解并熟练掌握 Supesite 的各项功能,从而创建一个高效、易用且功能丰富的网站。这份文档是 Supesite 用户的必备参考资料,无论是初学者...