2011-07-25 13 views
0

JS_GrowlプラグインでMootoolsを使用していますが、うまく動作していますが、ページを送信する前に十分な長さの通知を受け取ることができません。Growl型の通知タイミングの問題

here…

通知は「済」の場合、私はその後、リダイレクトを行うことができるように、コールのいくつかの種類は、背のGrowlプラグインにありますか?

また、送信成功後にページに戻ったときに通知を送信する方法がありますか?ショッピングカートのページに商品IDと商品IDを送信していることがわかります。

ご意見をいただければ幸いです。私のJavaScriptは非常に基本的なので、視覚的なコード例が理想的です。

ありがとうございます!

答えて

0

あなたはソースコードを読んでいますか?これは本当に古いプラグインです。急いで一緒にパッチを当ててMooTools 1.2で動作します。彼らはクラスを使用していません。したがって、イベントmixinはありません。コールバックもありません。

/* 
JS_Growl Mootools based notifier 
Version 0.2 
Developed and maintained by Carlos Ouro 
http://techtrouts.com 
*/ 
JS_Growl={ 
    //user callable properties/funcionalities 
    notify:function(str){ 
     if(!this._v.initiated) this._a.init(); 
     var el=new Element('div',{ 
      'class':(Browser.Engine.name=='trident' && Browser.Engine.version<5)?'JS_Growl_notify_IE6':'JS_Growl_notify', 
      'html':str 
     }); 
     el.inject(this._o.container); 
     var fx= new Fx.Morph(el, { 
      'duration': 'short' 
     }); 
     fx.set({ 
      'opacity':0, 
      'display':'block' 
     }); 
     fx.start({ 
      'opacity':[0,1] 
     }); 
     setTimeout(function(){ 
      fx.start({ 
       'opacity':[1,0] 
      }).chain(function(){ 
       this.options.durtion='long'; 
       this.start({ 
        'height':0, 
        'padding-top':0, 
        'padding-bottom':0, 
        'margin-top':0, 
        'margin-bottom':0 
       }).chain(function(){ 
        el.destroy(); 
       }); 
      }); 
     }, 2500); 
    }, 

    //internal structure "à la fallforward (http://fallforwardgame.com)" 
    _v:{ 
     initiated:false 
    }, 
    _a:{ 
     init:function(){ 
      JS_Growl._o.container=new Element('div', {'id':'JS_Growl_container'}); 
      JS_Growl._o.container.inject(document.body); 
      JS_Growl._v.initiated=true; 
      if(Browser.Engine.name=='trident' && Browser.Engine.version<5){       
       //position "fixed" 
       JS_Growl._o.container.setStyle({'position':'absolute'}); 
       JS_Growl._a.ie6_pos(); 
       window['addEvent']('scroll', JS_Growl._a.ie6_pos); 
       window['addEvent']('resize', JS_Growl._a.ie6_pos); 
      } 
     }, 
     ie6_pos:function(){ 
      JS_Growl._o.container.setStyles({'top':Window.getScrollTop()+'px', 'left':Window.getWidth()+'px'}); 
     } 
    }, 
    _o:{ 
     "container":null 
    } 
} 

これがどれくらい小さいかを考慮すると、必要なことを行うためにリファクタリングするのは10分〜15分程度で済みます。

ただし、これをもっと簡単に修正できる可能性があります。バスケットの追加をクリックして送信イベントを停止してください。通知が表示されるまでしばらく待ってください。たとえば2.5秒です。再送信またはlocation.href

を変更ここに私の頭の上から類似した、より柔軟なプラグインの一覧です:

は楽しみを持っています。

+0

Dimitar、 私は必要な手がかりをいただきありがとうございました。通知が表示されるように、一時的に送信イベントを一時停止する必要があります。しかし、私はこれをどうやって行うのか痛感していません。あなたがすばらしいすばらしい例を一緒に叩くことができたら!その間にいくつかの検索を行います。 また、これは古いプラグインであることがわかっていましたが、まだ使用可能と考えていました。送信イベントを正しく停止させてみましょう。次に、あなたの唸りの提案を見て、そのうちの1つがより効率的であるかどうかを確認します。 もう一度ありがとう! – lyndonr