SharePoint JS Link 之(五)关于JSLink的一些FAQ

关于JSLink的一些FAQ


1.    JSLink可以被应用在哪里?

JSLink 可以被应用到fields, Web Parts, 列表表单(list form), 视图(view)和内容类型(content type).


2.    JSLink文件可以放到哪里?

JSLink可以放到SharePoint的任何的文档库里,或者layout文件夹下。放到不同的位置,在引用的时候,前缀也不一样:

§ ~site—表示要引用的JSLink文件在当前站点下

§ ~sitecollection—表示要引用的JSLink文件在当前站点所在的网站集下

§ ~layouts—表示要引用的JSLink_layouts/15

§ ~sitecollectionlayouts—表示要引用的JSlink在当前网站集合的layouts文件夹下(比如/sites/mysite/_layouts/15).

§ ~sitelayouts—表示要引用的JSlink在当前站点的layouts文件夹下(比如site/mysite/mysubsite/_layouts/15).

 

3.    JSLink都能改哪些地方?

用于注册修改方法的template对象有以下属性:Header, Body,Footer, OnPreRender, OnPostRender, Group, Item and Fields。可以在这些地方做相应的重写,来改变显示样式


4.    要修改一个列表的所有表单,应该如何写?

如果要修改一个filed的在不同表单上的样式,可以按照下面的例子来写,分别是View, DisplayForm, EditForm, NewForm

siteCtx.Templates.Fields= {
  //MyCustomField is the Name of our field
 'MyCustomField': {
 'View': customView,
 'DisplayForm': customDisplayForm,
 'EditForm': customNew,
 'NewForm': customEdit
  }
};


5.    JSLink vs. XSL/XSLT

JSLink相对于XSL/XSLT有一些优势。首先它使用的是JavaScript,绝大多数的Web 开发人员都很熟悉。XSLT在开发和调试上都比较难。因此JSLink可以减少开发时间和成本。

在客户端使用JavaScript, HTMLCSS来渲染,避免了对服务器的不必要的负载,提高了总体的加载速度,使页面有更好的响应。

再有就是,使用JSLink你可以定制化一个视图的所有的部分。比如,如果你只想定制化一个field,你只要重写这部分逻辑就可以,其他的部分还是按照以前的逻辑。使用JSLink, 你也可以使用JaveScript,包括一些流行的插件,比如jQuery

当然,任何技术都有不足,JSLink也是。比如,如果用户的浏览器阻止了JaveScriptJSLink 就不好用了。使用XSLT的服务器端渲染,就不会有这个问题,但是会有效率问题。

如果一个用户的浏览器或者系统非常的旧,那么执行Script也会使秀安然速度下降。

最终,搜索引擎爬网的时候,更喜欢静态的html代码,而不是由Ajax/JavaScript生成的动态的内容。因此如果你的网站是面向公共的,那么JSLink并不是最好的选择。

你可能感兴趣的:(JS,Link)