通常在我们的项目中,都会涉及到母版页的定制。并且必不可少的,需要配合以一套自己的JavaScript框架和CSS样式。
你有没有遇到过这样的情况呢,在开发环境和UAT时都还算顺利,但是当最终部署到生产服务器场时,运行完PS 脚本后,发现网页的其他部分似乎都没事,唯独样式和Ajax不正常,。

当我们调出我们最好的朋友(IE的F12开发人员工具,或者Firebug和Chrome浏览器开发控制台),就会发现问题是由于我们在生产环境中改变了网站集的URL结构导致绝对路径不能正常工作。

那么问题就来了,我们如何能写出一个最佳的URL引用,来替代硬编码或绝对地址。从SDK里一通寻找后,终于找到如下的解决方案:

JavaScript文件的引用

<asp:ScriptManager id="ScriptManager" runat="server" EnablePageMethods="false"
EnablePartialRendering="true" EnableScriptGlobalization="false" EnableScriptLocalization="true"><Scripts><asp:ScriptReference
Path="<%$SPUrl:~SiteCollection/Style Library/ProjectPortal/js/jquery-1.5.2.js%>">
</asp:ScriptReference><asp:ScriptReference
Path="<%$SPUrl:~SiteCollection/Style Library/ProjectPortal/js/ProjectPortalLoadAfterJquery.js%>">
</asp:ScriptReference>                </Scripts>
</asp:ScriptManager>

CSS样式文件的引用

<SharePoint:CssRegistration ID="CssRegistration1"
name="<% $SPUrl:~sitecollection/Style Library/ProjectPortal/ppb-styles.css  %>"
After="corev4.css" runat="server"/>

如上所示,实现这一魔法的关键在于$SPUrl:~sitecollection这个Token,它会随着网站集URL而变。所以保证了整个文件引用路径的正确。

很有用的一个小技巧吧。

参考资料

SharePoint 2010 Custom Master Page Tips and Tricks -> JavaScript and StyleSheet Reference

SharePoint 2010自定义母版页小技巧——JavaScript和CSS引用相关推荐

  1. javascript小技巧JavaScript[对象.属性]集锦(转自飛雪飄寒 )

    javascript小技巧&&JavaScript[对象.属性]集锦,建议你 ctrl+F  直接在这个页上找,因为这里80%有你要找的! javascript小技巧 事件源对象 ev ...

  2. 55种网页常用小技巧(javascript) (转)

    55种网页常用小技巧(javascript) 1. οncοntextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键 <tab ...

  3. SharePoint 2010 ——自定义上传页面与多文件上传解决方案

    SharePoint 2010 --自定义上传页面与多文件上传解决方案 参考文章: (1)SharePoint 2010 --自定义上传页面与多文件上传解决方案 (2)https://www.cnbl ...

  4. Powershell 自定义对象小技巧

    豆子之前在脚本里面自定义对象的时候一般是这么考虑的,我需要创建一个数组,每次循环的时候把一个自定义的对象放进去,对于这个自定义的对象的结构,我需要创建一个哈希表,然后转换成自定义对象.这个思路是没错, ...

  5. SharePoint 2010 自定义Ribbon实现文档批量下载为Zip文件

    在SharePoint 2010文档库中,结合单选框,在Ribbon中提供了批量处理文档的功能,比如,批量删除.批量签出.批量签入等,但是,很遗憾,没有提供批量下载,默认的只能一个个下载,当选择多个文 ...

  6. 小程序JavaScript,css常用工具类

    小程序 时间相关 1,获取当前时间(年月日时分秒) 示例:2020年12月30日20时38分 // 获取当前时间_getCurrentTime() {var d = new Date();var mo ...

  7. javascript小技巧JavaScript[对象.属性]集锦

    如果你找的javascript的东西的话,建议你 ctrl+F  直接在这个页上找,因为这里80%有你要找的,但是要让你挨着看的话,你就准备看完就去配眼镜!! 事件源对象 event.srcEleme ...

  8. javascript小技巧 JavaScript[对象.属性]集锦 [zz]

    因为这两篇太安逸了,东西很多,很实用,所以转到我格子里! 总的来说,如果你要找js 的东西,而不看这两篇的话,肯定要多花好多时间!!哈哈!! 如果你找的javascript的东西的话,建议你 ctrl ...

  9. javascript小技巧JavaScript[对象.属性]集锦 [转载了多篇]

    因为这两篇太安逸了,东西很多,很实用,所以转到我格子里! 总的来说,如果你要找js 的东西,而不看这两篇的话,肯定要多花好多时间!!哈哈!! 如果你找的javascript的东西的话,建议你 ctrl ...

最新文章

  1. mysql 按重复排序_php-按日期排序并允许重复的日期时,获取MySQL中的上一个和下一个记录...
  2. 洛谷p2234/BZOJ1588 [HNOI2002]营业额统计
  3. POE交换机隐藏指标是什么?
  4. android u盘检测工具,android USBU盘 接入检测
  5. [Leedcode][JAVA][第200题][岛屿数量][DFS][BFS][并查集]
  6. C# Winform 窗体美化(六、双层窗体)
  7. Oracle操作管理之用户和角色
  8. 【每日算法Day 99】你们可能不知道只用20万赢到578万是什么概念
  9. python试卷生成_小学初中高中试卷自动生成
  10. 有血有肉,汇报年终总结
  11. 2020,300道高级iOS开发面试题(最新整理)
  12. Code for fun. Aimed nothing.
  13. C++:关于保留小数和保留有效数字。
  14. Python爬取新冠肺炎疫情实时数据(丁香园)
  15. 魏永征《向媒介侵权讨说法:媒介侵权法律问题》
  16. 人生需要认真思考的一些故事
  17. HDU 5976 Detachment 逆元
  18. 基于Arduino的土壤湿度检测
  19. Qml SwipeView禁用滑动动画
  20. 最优传输理论与计算 学习笔记1

热门文章

  1. 2019年,人工智能要落地,更要小心被“摔死”
  2. SAP MM 工序委外场景再探 – 相关采购申请单据中的总账科目确定
  3. 首次公开!深度学习在知识图谱构建中的应用
  4. (完全解决)(numba)TypingError: Failed in nopython mode pipeline( Invalid use of Function)
  5. 深入理解Pytorch之register_buffer
  6. 斯坦福抢开“元宇宙”第一课,上起来还真不便宜
  7. IEEE发布2022年科技趋势全球调研:人工智能和机器学习、云计算及5G将成为下一年最重要的技术...
  8. 全息技术“量子飞跃”或彻底改变成像技术
  9. 复杂性系统面临的难题
  10. 21世纪20年代改变世界的十大趋势