读书人

百度首页js代码寻求详解,该如何处理

发布时间: 2012-03-23 12:06:21 作者: rapoo

百度首页js代码,寻求详解
(function() {

//下面为帮助函数******************************************************
var M = navigator.userAgent.indexOf("MSIE") != -1 && !window.opera;//浏览器不是IE 同时不是opera[挪威浏览器] 返回true
var V = (document.compatMode == "BackCompat");//可以用来判断当前页面采用的渲染方式


alert('this browser is '+(M?'IE':'non-IE'));
alert('this browser version is IE5.5? '+V) ;

function I(C) {//得到一个对象
return document.getElementById(C)
}
function K(C) {//创建一个对象
return document.createElement(C)
}
function S(C) {//消除输入字符串前后的半角和全角空格
return String(C).replace(new RegExp("(^[\\s\\t\\xa0\\u3000]+)|([\\u3000\\xa0\\s\\t]+\x24)", "g"), "")
}
function U(C) {
return String(C).replace(new RegExp("[\\s\\t\\xa0\\u3000]", "g"), "")
}
function P(X, G, C) {
if (M)
{
//ie浏览器下注册事件,attachEvent(事件类型, 处理函数);
X.attachEvent("on" + G,
(
function(Y)
{
return function()
{
C.call(Y)
}
}
)(X))
} else {
//非ie浏览器下注册事件,对应的函数是addEventListener(事件类型, 处理函数, 使用捕获);
X.addEventListener(G, C, false)
}
}
function N(C) {
if (M) {
//ie浏览器
C.returnValue = false
} else {
//非ie
C.preventDefault()//preventDefault方法就是可以阻止它的默认行为的发生而发生其他的事情。
}
}
function R(G) {
if (M)
{
//ie浏览器,为元素添加样式
var X = document.createStyleSheet();
X.cssText = G
} else {
//非ie
var C = document.createElement("style");
C.type = "text/css";
C.appendChild(document.createTextNode(G));
document.getElementsByTagName("HEAD")[0].appendChild(C)
}
}
function H(Y) {

var X = document.forms[0];
for (var G in Y) {
if (Y[G] == undefined) {
if (I("bdsug_ipt_" + G)) {
X.removeChild(I("bdsug_ipt_" + G))
}
} else {
if (!O(G)) {
X.appendChild(C(G, Y[G]))
} else {
O(G).value = Y[G]
}
}
}
function C(b, Z) {
var a = K("INPUT");
a.type = "hidden";
a.name = b;
a.id = "bdsug_ipt_" + b;
a.value = Z;
return a
}
}
function O(X) {//表单中input的name

var Y = document.forms[0];//得到第一个表单
var Z = false;
var C = Y.getElementsByTagName("INPUT");//得到表单中的所有的input
for (var G = 0; G < C.length; G++) {
if (X == C[G].getAttribute("name")) {//循环匹配表单中的所有input,getAttribute("name")表示得到当前对象的name属性
Z = C[G];
return Z
} else {
Z = false
}
}
}
function L(X) {
var G = document.forms[0];//得到第一个表单


for (var C in X) {
if (C == "f")
{
if (O("f"))
{
if (O("f").id == "bdsug_ipt_f")
{
G.removeChild(I("bdsug_ipt_f"))
} else {
O("f").value = "8"
}
}
} else {
if (I("bdsug_ipt_" + C)) {
G.removeChild(I("bdsug_ipt_" + C))
}
}
}
}
//上面为帮助函数******************************************************

var A = 0;
//window.bdsug自己声明的对象
if (typeof window.bdsug != "object" || window.bdsug == null) {

window.bdsug = {}//重新初始化该对象
}
bdsug.sug = {};
bdsug.sugkeywatcher = {};
//声明J对象开始
var J = (function() {
function C(X)
{
var Z = this.__MSG_QS__;
if (!Z[X]) {
Z[X] = []
}
for (var Y = 1,b = arguments.length,a; Y < b; Y++) {
Z[X].push(arguments[Y])
}
}
function G(Z)
{
var Y = this.__MSG_QS__[Z.type];
if (Y == null) {
return
}
for (var X = 0,
a = Y.length; X < a; X++) {
Y[X].rm(Z)
}
}
return {
ini: function(X) { //声明一个函数,名称为ini
X.__MSG_QS__ = {}; //为传进来的对象添加属性
X.on = C; //为传进来的对象添加方法
X.dm = G; //为传进来的对象添加方法
return X
}
}

//var J = (function() {
//return {
// zzl: function(X) {
// return ++X
// }
// }
//})();
//alert(J.zzl(7));//输出8

})();

//声明J对象结束



[解决办法]
bdsug.sugkeywatcher.on = function () {
if (!p) {
if (M) {
X.attachEvent("onkeydown", f)
} else {
X.addEventListener("keydown", f, false)
}
p = true
}
};


return {
ini: function(X) { //声明一个函数,名称为ini
X.__MSG_QS__ = {}; //为传进来的对象添加属性
X.on = C; //为传进来的对象添加方法
X.dm = G; //为传进来的对象添加方法
return X
}
}
on 是绑定事件,这是压缩后的代码,变量名全是一个字母,大概知道就可以了

读书人网 >JavaScript

热点推荐