Javascript 操作 SharePoint media web part
本文讲述如何用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相关推荐
- 使用SharePoint 2007 Web Service上传文件到文档库
SharePoint 2010中有了全新的客户端模型,给我们在客户端操作SharePoint对象提供了很大的方便,但是在SharePoint 2007中我们可以使用的方式就比较有限,Web Servi ...
- sharepoint Lists Web service 用法
概述 在sharepoint 项目中,后期做数据迁移时,会用到sharepoint的web service来完成把数据导入sharepoint站点的功能. web service 名称: http:/ ...
- 用 JavaScript 操作字符串
虽然 JavaScript 有很多用处,但是处理字符串是其中最流行的一个.下面让我们深入地分析一下使用 JavaScript 操作字符串.在 JavaScript 中, String 是对象. Str ...
- 整理javascript操作文件说明.
Javascript是网页制作中离不开的脚本语言,依靠它,一个网页的内容才生动活泼.富有朝气.但也许你还没有发现并应用它的一些更高级的功能吧?比如,对文件和文件夹进行读.写和删除,就象在VB.VC等高 ...
- 关于操作 ASP.NET Web API的实例
WCF的野心造成了它的庞大复杂,HTTP的单纯造就了它的简单优美.为了实现分布式Web应用,我们不得不将两者凑合在一起 -- WCF服务以HTTP绑定宿主于IIS. 于是有了让人晕头转向的配置.让人郁 ...
- 了不起的Node.js: 将JavaScript进行到底(Web开发首选,实时,跨多服务器,高并发)...
了不起的Node.js: 将JavaScript进行到底(Web开发首选,实时,跨多服务器,高并发) Guillermo Rauch 编 赵静 译 ISBN 978-7-121-21769-2 2 ...
- 页面跳转javascript操作referer
Referrer的重要性 HTTP请求中有一个referer的报文头,用来指明当前流量的来源参考页.例如在www.sina.com.cn/sports/上点击一个链接到达cctv.com首页,那么就r ...
- python操作sharepoint对象模型
前段时间刚接触python,发觉它很简单很实用.最近也一直做sharepoint的项目,很自然就想到,能不能使用python来做一些简单的sharepoint? 如果能直接操作sharepoint的对 ...
- javascript 操作 cookies
javascript 操作 cookies Cookies,有些人喜欢它们,有些人憎恨它们.但是,很少有人真正知道如何使用它们.现在你可以成为少数人中的成员-可以自傲的Cookie 大师. 如果你 ...
最新文章
- Apache+Tomcat +mod_proxy集群负载均衡及session
- Go 类型别名与类型声明的区别
- python下划线怎么输入_python长的下划线怎么打
- discord linux_如何在Discord中应用文本格式
- Dapr + .NET 实战(十四)虚拟机集群部署 mDNS + Consul
- 两台笔记本的操作系统都为xp的共享上网教程
- maven工程启动时报“Cannot resolve XXX:XXX:xx.xx.xx”错误的问题
- Spring整合JsonRpc
- Chrome浏览器的便捷使用方式
- 中科大一所学校撑起中国人工智能半壁江山
- 阿里云轻量应用服务器的租赁与使用
- 人民币对美元汇率中间价报6.7774元 下调109个基点
- 如何优化淘宝直通车推广创意标题
- js 数组entries迭代方法
- 在自己电脑上用excel重新绘制荧光定量溶解曲线
- 《实用C++》第8课:赋值运算符和赋值表达式
- 利用selenium与etree抓取必应图片
- 【原创】怎样关联多个 Excel 档工作表(Sheet)中的数据
- 面试好处多,有机会还是多出去面面吧(技术岗)
- Cadence Allegro 查看电路板覆铜率的方法图文教程及视频演示