首页 > IT.IT > cakephp的debugkit在ie下的再次修正

cakephp的debugkit在ie下的再次修正

2009年6月23日  如果本文对您有帮助,请留下您宝贵的足印!==>

Cakephp的debugkit在ie下面已经修正一次,可以正常显示toolbar,今天用了一下,发现还是有点问题,不能点击开具体页面中的小箭头显示详细内容,就再次修正增加了个event的target属性,具体如下:

一、写在前面
在msdn上面看到了这篇文章,应该是对ie下面的prototype进行修正的比较权威的文章。网上的文章都是在讲如何让ff支持ie的属性的,这里反其道而行,讲ie如何支持ff的属性。
http://msdn.microsoft.com/en-us/library/dd229916(VS.85).aspx

二、本次更新主要修改的问题
debugkit_problem 
这里的小箭头不能点开。

三、增加后的代码
plugins\debug_kit\vendors\js\js_debug_toolbar.js

if (document.all){
	Event.prototype.preventDefault = function () {
	  this.returnValue = false;
	};
	Object.defineProperty(Event.prototype, 'target', {
	  get: function() {
	    return this.srcElement;
	  }
	});
}

这里面已经包含了上次对debugkit的更新修正。使用方法一样,放到这个js文件的开头就行了。

这段JS的功用是:

当前浏览器是IE(document.all)的时候,使得event这个类先增加一个方法叫做preventDefault,然后增加一个属性值叫做target。因为这2个东东都是ff特有的,ie不认识,而这个debugkit又是针对ff所写的,所以有此hook。


本文来自苏南的博客, 转载请注明网址:http://newsn.net, 谢谢!
我的淘宝小店:http://68zz.com
我的Sina圈子:http://q.blog.sina.com.cn/pctalk


作者: 苏南 分类: IT.IT 标签: , , , ,
  1. 2009年6月23日05:57 | #1

    prototype原来是可以定义类方法的方法!~~了解了

  1. 本文目前尚无任何 trackbacks 和 pingbacks.