首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

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

2012-03-23 
百度首页js代码,寻求详解(function() {//下面为帮助函数***********************************************

百度首页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 是绑定事件,这是压缩后的代码,变量名全是一个字母,大概知道就可以了

热点排行