Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lucio Macedo de Oliveira

Problema com a grid no firefox

Recommended Posts

Olá pessoal, estou com um problema num codigo javascript, que gera uma grid, fucniona normalmente no internet explorer, mas no firefox e chrome da erro is not defined:

 

Usando o firebug do firefox, ele da seguinte mensagem de erro:

 

var cs=ComputedCSSStyleDeclaration.prototype grid.js (linha 93 )

 

ReferenceError: ComputedCSSStyleDeclaration is not defined

 

A função de onde ele indica o erro:

 

function(){
if(!window.HTMLElement){
return}
var element=HTMLElement.prototype;
element.__proto__={__proto__:element.__proto__};
element=element.__proto__; 
var capture=["click","mousedown","mouseup","mousemove","mouseover","mouseout" ];
element.setCapture=function(){
var self=this;
var flag=false;
this._capture=function(event){
if(flag){
return}flag=true;
self.dispatchEvent(event);
flag=false};
for(var i=0;i<capture.length;i++){
window.addEventListener(capture[i],this._capture,true);
window.captureEvents(Event[capture[i]])}};
element.releaseCapture=function(){
for(var i=0;i<capture.length;i++){
window.releaseEvents(Event[capture[i]]);
window.removeEventListener(capture[i],this._capture,true)}
this._capture=null};
element.attachEvent=function(name,handler){
if(typeof handler !="function"){
return}
var nsName=name.replace(/^on/,"");
var nsHandler=function(event){
window.event=event;
handler();
window.event=null};
handler[name]=nsHandler;
this.addEventListener(nsName,nsHandler,false)};
element.detachEvent=function(name,handler){
if(typeof handler !="function"){
return}
var nsName=name.replace(/^on/,"");
this.removeEventListener(nsName,handler[name],false);
handler[name]=null};
var getClientWidth=function(){
return this.offsetWidth - 20};
var getClientHeight=function(){
return this.offsetHeight - 20};
element.__defineGetter__("clientWidth",getClientWidth);
element.__defineGetter__("clientHeight",getClientHeight);
var getRuntimeStyle=function(){
return this.style};
element.__defineGetter__("runtimeStyle",getRuntimeStyle);

// Erro está aqui

var cs=ComputedCSSStyleDeclaration.prototype;
cs.__proto__={__proto__:cs.__proto__};
cs=cs.__proto__;
cs.__defineGetter__("paddingTop",function(){
return this.getPropertyValue("padding-top")});
var getCurrentStyle=function(){
return document.defaultView.getComputedStyle(this,"")};
element.__defineGetter__("currentStyle",getCurrentStyle);
var setOuterHtml=function(s){
var range=this.ownerDocument.createRange();
range.setStartBefore(this);
var fragment=range.createContextualFragment(s);
this.parentNode.replaceChild(fragment,this)};
element.__defineSetter__("outerHTML",setOuterHtml)})();

 

Favor quem puder me ajudar, desde ja agradeço !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique o navegador e utilize

CSSStyleDeclaration se navegador diferente de IE

 

//...
var IE = document.all ? true : false;
var cs = !IE ? CSSStyleDeclaration.prototype : ComputedCSSStyleDeclaration.prototype ;
//...

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique o navegador e utilize

CSSStyleDeclaration se navegador diferente de IE

 

//...
var IE = document.all ? true : false;
var cs = !IE ? CSSStyleDeclaration.prototype : ComputedCSSStyleDeclaration.prototype ;
//...

 

No Console do Google Chrome apresenta vários erros

Primeiro erro:

 

Menssagem de Erro:

Uncaught TypeError: Object function () {} has no method 'getPropertyValue' grid.js:125

(anonymous function)

 

 

 element.__defineGetter__("runtimeStyle",getRuntimeStyle);
   var IE = document.all ? true : false;
   var cs = !IE ? CSSStyleDeclaration.prototype : ComputedCSSStyleDeclaration.prototype;
      cs = cs.__proto__;
      cs.__defineGetter__("padding-top",function() {
       return this.getPropertyValue("paddingTop")
   });

 

Segundo erro

 

Mensagem de erro:

 

Active.System.Object.subclass

 

Código

Active.System.Object.subclass = function() {
   var constructor = function() {
       this.init()
   };
   for(var i in this) {
       constructor[i] = this[i]
   }
   constructor.prototype = new this();
   constructor.superclass = this;
   return constructor
};]

 

Terceira Menssagem: (anonymous function)

 

 Active.System.Model = Active.System.Object.subclass();
Active.System.Model.create = function() {
   var obj = this.prototype;
   var join = function() {
       var i
       ,s=arguments[0];
       for(i=1;i<arguments.length;i++) {
           s += arguments[i].substr(0,1).toUpperCase() + arguments[i].substr(1)
       }
       return s
   };

Compartilhar este post


Link para o post
Compartilhar em outros sites

fza assim logo após as 2 linha q coloquei pra você daí procura dentro do abjeto as propriedades

 

console.debug(cs)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou ver aqui, vou tentar resolver esse problema, tenho certeza que é só questão de compatibilidade com o navegador, acredito que é algo simples, implementar uma nova grid vai dar trabalho. Vou deixar como ultia opção, caso eu não consiga fazer a grid funcionar no firefox. Mas meso assim, obrigado pela sua boa vontade em me ajudar !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.