本文讲述如何用Javascript 操作 SharePoint media web part。

需求是这样的,SharePoint页面上所有若干链接到Media文件(wmv;wma;avi;mpg;mp3;)的连接。

现在用户要求点击链接直接在网页中播放该连接指向的Media文件。

思路:

1. 在页面插入media web part(手动)

2.  首先在document.onload里面遍历所有的链接(a), 凡是指向的Media文件的链接,覆盖其onclik 事件

3. 在onclick 事件中 使用Javascript 操作 SharePoint media web part

代码实现(2, 3):

 <script>var mdeiaPlayerHostId;var closeButton;function getMediaPlayer() {if (mdeiaPlayerHostId) {var p = document.getElementById(mdeiaPlayerHostId)var obj = p.getElementsByTagName("object");return obj[0].Content.MediaPlayer;}else {var paramNodes = document.getElementsByTagName("param");for (i = 0; i < paramNodes.length; i++) {if (paramNodes[i].value && paramNodes[i].value == "/_layouts/clientbin/mediaplayer.xap") {mdeiaPlayerHostId = paramNodes[i].parentNode.parentNode.id;return paramNodes[i].parentNode.Content.MediaPlayer;}}}}function CloseMediaPlayer() {var playerDiv = document.getElementById(mdeiaPlayerHostId);playerDiv.style.display = "none";           var closeMediaButtonDiv = document.getElementById("CloseMediaButtonDiv");closeMediaButtonDiv.style.display = "none";}function OpenMediaPlayer() {var playerDiv = document.getElementById(mdeiaPlayerHostId);playerDiv.style.display = "";var closeMediaButtonDiv = document.getElementById("CloseMediaButtonDiv");closeMediaButtonDiv.style.display = "";}function GetTitle(source) {title = source;var index =  title.lastIndexOf("/");title = title.substring(index + 1, title.length);return title}function PlayerMediaBySliverlight(source) {var playerObject = getMediaPlayer();playerObject.AutoPlay = true;playerObject.MediaSource = source;playerObject.MediaTitle = GetTitle(source);if (!closeButton) {var closeHtml = "<a id='downloadMediaLink' style='float:left' href=''></a><a style='float:right' οnclick='CloseMediaPlayer();'>Close</a>";var playerDiv = document.getElementById(mdeiaPlayerHostId);closeButton = document.createElement("div");closeButton.id = "CloseMediaButtonDiv";closeButton.innerHTML = closeHtml;playerDiv.parentNode.insertBefore(closeButton, playerDiv);}var downloadMediaLink = document.getElementById('downloadMediaLink');downloadMediaLink.href = source;downloadMediaLink.innerText = "正在播放:" + GetTitle(source);OpenMediaPlayer();playerObject.Play();}function WindowsLoad () {// wmv;wma;avi;mpg;mp3;var linkNodes = document.getElementsByTagName("a");for (i = 0; i < linkNodes.length; i++) {if (linkNodes[i].href && (linkNodes[i].href.indexOf('.wmv') != -1 ||linkNodes[i].href.indexOf('.wma') != -1 ||linkNodes[i].href.indexOf('.avi') != -1 ||linkNodes[i].href.indexOf('.mpg') != -1 ||linkNodes[i].href.indexOf('.mp3') != -1)) {linkNodes[i].setAttribute("onclick", "PlayerMediaBySliverlight('" + linkNodes[i].href + "'); return false;");// alert(linkNodes[i].href);}}}window.attachEvent("onload", WindowsLoad);</script>

Javascript 操作 SharePoint media web part相关推荐

  1. 使用SharePoint 2007 Web Service上传文件到文档库

    SharePoint 2010中有了全新的客户端模型,给我们在客户端操作SharePoint对象提供了很大的方便,但是在SharePoint 2007中我们可以使用的方式就比较有限,Web Servi ...

  2. sharepoint Lists Web service 用法

    概述 在sharepoint 项目中,后期做数据迁移时,会用到sharepoint的web service来完成把数据导入sharepoint站点的功能. web service 名称: http:/ ...

  3. 用 JavaScript 操作字符串

    虽然 JavaScript 有很多用处,但是处理字符串是其中最流行的一个.下面让我们深入地分析一下使用 JavaScript 操作字符串.在 JavaScript 中, String 是对象. Str ...

  4. 整理javascript操作文件说明.

    Javascript是网页制作中离不开的脚本语言,依靠它,一个网页的内容才生动活泼.富有朝气.但也许你还没有发现并应用它的一些更高级的功能吧?比如,对文件和文件夹进行读.写和删除,就象在VB.VC等高 ...

  5. 关于操作 ASP.NET Web API的实例

    WCF的野心造成了它的庞大复杂,HTTP的单纯造就了它的简单优美.为了实现分布式Web应用,我们不得不将两者凑合在一起 -- WCF服务以HTTP绑定宿主于IIS. 于是有了让人晕头转向的配置.让人郁 ...

  6. 了不起的Node.js: 将JavaScript进行到底(Web开发首选,实时,跨多服务器,高并发)...

    了不起的Node.js: 将JavaScript进行到底(Web开发首选,实时,跨多服务器,高并发) Guillermo Rauch 编   赵静 译 ISBN 978-7-121-21769-2 2 ...

  7. 页面跳转javascript操作referer

    Referrer的重要性 HTTP请求中有一个referer的报文头,用来指明当前流量的来源参考页.例如在www.sina.com.cn/sports/上点击一个链接到达cctv.com首页,那么就r ...

  8. python操作sharepoint对象模型

    前段时间刚接触python,发觉它很简单很实用.最近也一直做sharepoint的项目,很自然就想到,能不能使用python来做一些简单的sharepoint? 如果能直接操作sharepoint的对 ...

  9. javascript 操作 cookies

    javascript 操作 cookies   Cookies,有些人喜欢它们,有些人憎恨它们.但是,很少有人真正知道如何使用它们.现在你可以成为少数人中的成员-可以自傲的Cookie 大师. 如果你 ...

最新文章

  1. Apache+Tomcat +mod_proxy集群负载均衡及session
  2. Go 类型别名与类型声明的区别
  3. python下划线怎么输入_python长的下划线怎么打
  4. discord linux_如何在Discord中应用文本格式
  5. Dapr + .NET 实战(十四)虚拟机集群部署 mDNS + Consul
  6. 两台笔记本的操作系统都为xp的共享上网教程
  7. maven工程启动时报“Cannot resolve XXX:XXX:xx.xx.xx”错误的问题
  8. Spring整合JsonRpc
  9. Chrome浏览器的便捷使用方式
  10. 中科大一所学校撑起中国人工智能半壁江山
  11. 阿里云轻量应用服务器的租赁与使用
  12. 人民币对美元汇率中间价报6.7774元 下调109个基点
  13. 如何优化淘宝直通车推广创意标题
  14. js 数组entries迭代方法
  15. 在自己电脑上用excel重新绘制荧光定量溶解曲线
  16. 《实用C++》第8课:赋值运算符和赋值表达式
  17. 利用selenium与etree抓取必应图片
  18. 【原创】怎样关联多个 Excel 档工作表(Sheet)中的数据
  19. 面试好处多,有机会还是多出去面面吧(技术岗)
  20. Cadence Allegro 查看电路板覆铜率的方法图文教程及视频演示

热门文章

  1. ubuntu下发送邮件到外部邮箱
  2. yocto bsp-开发人员指南
  3. 时序约束——set_max_delay和set_min_delay用法
  4. vue 如何实现点击动态更新图形验证码
  5. 怎么用c语言画余弦函数,用c语言绘制余弦函数图像
  6. 中国移动互联网公司10年战争史
  7. 突破IP封锁,共享网络
  8. 软考笔记——第七章--数据结构
  9. 小米手机android目录在哪里设置字体,在哪里修改小米手机的字体大小
  10. ASP.NET与HTML的关系理解