在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. c++面向对象程序设计 谭浩强 第二章答案

    类体内定义成员函数 #include <iostream> using namespace std; class Time { public: void set_time(); void ...

  2. 39.Qt XML

    1.使用QXmlStreamReader读取XML,可以读取内存中容纳不了的特大文件,或者读取在XML文档中定制的文档的内容. xml文件(in1.xml) <?xml version=&quo ...

  3. 一个基于React整套技术栈+Node.js的前端页面制作工具

    pagemaker是一个前端页面制作工具,方便产品,运营和视觉的同学迅速开发简单的前端页面,从而可以解放前端同学的工作量.此项目创意来自网易乐得内部项目nfop中的pagemaker项目.原来项目的前 ...

  4. C++的头文件(转)

    这几天在写比较困难的一部分,所以也没有时间总结一些东西了,不过昨天翻我的笔记本,发现了一篇还不错的笔记,给大家看看. C/C++头文件一览 C.传统 C++ #include <assert.h ...

  5. C# 正则表达式大全(转载)

    文章导读 正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串.正则表达式无疑是处理文本最有力的工具,而.NET提供的Regex类实现了验证正则表达式的方法.Regex 类表示不可变(只读)的 ...

  6. IPv6地址分配

  7. easyUI combobox的使用

    1.需要用到的方法 设置组合框(combobox)值的数组. $('#cc').combobox('setValues', ['001','002']); 设置组合框(combobox)的值. $(' ...

  8. [置顶] Elon Musk (伊隆·马斯克):无限的创想与意志的胜利

    Elon Musk (伊隆·马斯克):无限的创想与意志的胜利 很多人说 Steve Jobs 很伟大,这一点我认同.但是,单纯从创造出的产物而言,Elon Musk 的成就毫无疑问远远超越 Steve ...

  9. 【bzoj 1502】月下柠檬树

    月下柠檬树 题意 求n个圆与他们的公切线的定积分. 解法 求出圆的公切线就可以了. 特别坑的一点 : 最两端的圆,有可能会被其他的圆所包含,所以要重新求一下最左端与最右端. 比较坑的一点 : 精度要设 ...

  10. Java基础学习总结(48)——Java 文档注释

    Java只是三种注释方式.前两种分别是// 和/* */,第三种被称作说明注释,它以/** 开始,以 */结束. 说明注释允许你在程序中嵌入关于程序的信息.你可以使用javadoc工具软件来生成信息, ...