在page layout 中通过 _spBodyOnLoadFunctionNames.push("js 方法名") 的方式实现。

但切记,代码要放到 PlaceHolderMain 内部执行。

在page layout PlaceHolderMain 区域内直接写,或者在该区域引入js文件皆可。。。

e.g.

    _spBodyOnLoadFunctionNames.push("GenerateRightNavList");
function GenerateRightNavList() {
var currurl = location.href;
// pages using business page layout
if ($("#hidnIsBusinessPageLayOut").length > 0) {
var urlparts = currurl.split("/");
if (urlparts != null && urlparts.length > 2) {
var itemName = urlparts[urlparts.length - 2];
$("#nav-block>div.widget-header:eq(0)").text(itemName.replace("-", " "));
var filterUrl = currurl.substring(0, currurl.lastIndexOf("/") + 1);
//alert($("ul.primary-menu>li.menu-item>a[href^='"+filterUrl+"']").length);
$("ul.sub-menu>li.menu-item>a[href^='" + filterUrl + "']").each(function () {
$("#menu-shortcodes").append('<li class="menu-item menu-item-type-post_type menu-item-object-page"><a href="' + $(this).attr("href") + '">' + $(this).find("span:eq(0)").text() + '</a></li>');
});
var pstring = "";
var cstring = "";
var itemobj = $("ul.primary-menu>li.menu-item>a[href^='" + filterUrl + "']:eq(0)");
var subitemobj = $("ul.sub-menu>li.menu-item>a[href='" + currurl + "']:eq(0)");
if (itemobj.length > 0) {
pstring = $.trim(itemobj.find("span:eq(0)").text());
}
if (subitemobj.length > 0) {
cstring = $.trim(subitemobj.find("span:eq(0)").text());
}
var breadString = pstring + (cstring != "" ? ': ' + cstring : "");
$("#breadcrumbs").append('You are here: <a href="/home">Home</a> / ' + breadString);
}
}
}

or

<script type="text/javascript" src="/Scripts/layout.js"></script>

PS:

http://social.msdn.microsoft.com/Forums/sharepoint/en-US/c5c36734-b098-45a4-adf5-703fdc77e43d/why-isnt-my-function-loading-using-spbodyonloadfunctionnamespush

http://blogit.create.pt/blogs/andrevala/archive/2007/12/16/WSS-Tip-_2300_19_3A00_-Using-JavaScript-in-Body-OnLoad-Event.aspx

Page Layout里的javascript (jquery)不执行的更多相关文章

  1. JavaScript/JQuery自执行函数

    JavaScript中任何库与框架设计的第一个要点就是解决命名空间与变量污染的问题.jQuery就是利用了JavaScript函数作用域的特性,采用自执行函数包裹了自身的方法来解决这个问题.从jQue ...

  2. Handlebars的基本用法 Handlebars.js使用介绍 http://handlebarsjs.com/ Handlebars.js 模板引擎 javascript/jquery模板引擎——Handlebars初体验 handlebars.js 入门(1) 作为一名前端的你,必须掌握的模板引擎:Handlebars 前端数据模板handlebars与jquery整

    Handlebars的基本用法 使用Handlebars,你可以轻松创建语义化模板,Mustache模板和Handlebars是兼容的,所以你可以将Mustache导入Handlebars以使用 Ha ...

  3. JavaScript jQuery 中定义数组与操作及jquery数组操作

    首先给大家介绍javascript jquery中定义数组与操作的相关知识,具体内容如下所示: 1.认识数组 数组就是某类数据的集合,数据类型可以是整型.字符串.甚至是对象Javascript不支持多 ...

  4. 在线运行Javascript,Jquery,HTML,CSS代码

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xht ...

  5. javascript + jquery函数大全

    JAVASCRIPT Array 函数   array创建数组 concat()连接两个或更多的数组,并返回结果. join()把数组中所有元素组成字符串. pop()删除并返回数组的最后一个元素 s ...

  6. javascript --- jQuery --- Deferred对象

    javascript --- jQuery --- Deferred对象 javascript的函数式编程是多么引人入胜,jQuery使代码尽可能的精简,intelligent! defer - 必应 ...

  7. Javascript 装载和执行(copy的感觉有很多错误。。)

    copy from:http://coolshell.cn/articles/9749.html 首先,我想说一下Javascript的装载和执行.通常来说,浏览器对于Javascript的运行有两大 ...

  8. JavaScript jQuery 事件、动画、扩展

    事件 因为JavaScript在浏览器中以单线程模式运行,页面加载后,一旦页面上所有的JavaScript代码被执行完后,就只能依赖触发事件来执行JavaScript代码. 浏览器在接收到用户的鼠标或 ...

  9. javascript系列之执行上下文

    原文:javascript系列之执行上下文 写在前面:一 直想系统的总结一下学过的javascript知识,喜欢这门语言也热爱这门语言.未来想从事前端方面的工作,提前把自己的知识梳理一下.前面写了些 ...

随机推荐

  1. Ubuntu18.04修改Hostname

    1. 设置新的hostnamesudo hostnamectl set-hostname newNameHere 2. 修改配置文件使hostname可以保存编辑这个文件: /etc/cloud/cl ...

  2. 反向Shell增强

    下载socat 在客户端: socat file:`tty`,raw,echo=0 tcp-listen:4444 在服务端: socat exec:'bash -li',pty,stderr,set ...

  3. scrollView中内部控件的悬停

    以下图为例,图片,红色view和蓝色view是添加在scrollView上的,向上拖动,红色view停留在屏幕顶端不动,其它的继续滚动,向下拖动后,红色view跟着下来 代码如下:(注意的是scrol ...

  4. 关于swift构造方法

    switf 中如果遇到这样的错,,,大概错误就是,"必须要调用父类的构造方法",,可是呢,,调用了super.init()  不就是调用了构造方法了吗? 结果上去一查,,结果一名外 ...

  5. Android Studio配置GreenDAO 3.2.0和使用方法

    我相信,在平时的开发过程中,大家一定会或多或少地接触到SQLite.然而在使用它时,我们往往需要做许多额外的工作,像编写SQL语句与解析查询结果等.所以,适用于Android ORM框架也就孕育而生了 ...

  6. php基础-------preg_replace()与preg_replace_callback()

    1.preg_replace() 执行一个正则表达式的搜索和替换. 语法: mixed preg_replace ( mixed $pattern , mixed $replacement , mix ...

  7. ZBrush中设置背面遮罩的两种方法

    背面遮罩是ZBrush软件实时遮罩的一种,它的出现能够解决我们在模型雕刻时的一些问题.我们在 ZBrush®中雕刻一个比较薄的物体时,经常会不经意的雕刻到背面的物体.那么遇到此类状况该如何设置ZBru ...

  8. EL表达式的作用与限制条件

    限制条件 只能访问域对象的数据 用法 访问基本数据类型 首先把数据保存在域对象中 pagecontext.setAttribute("name","eric") ...

  9. epoll的边缘触发与水平触发

    epoll的边缘触发与水平触发 Tcp连接是双向的,内核为每个socket维护两个缓冲区,读缓冲区与写缓冲区,内核会一个关注这两个缓冲区,当采用水平触发时,对于写缓冲区而言,如果有多余空间可写,对于读 ...

  10. python位操作(进制)与ascii

    位操作符 位操作的操作符与python的set的操作符一样.与C语言中的位操作符也是一样的. a = 60 #60的二进制为 0011 1100b = 13 #13的二进制为 00001101 c = ...