Monitor idle state with custom events

최근 ajax 관련 project를 하면서, 유저가 동작을 멈췄는지 계속 조작하고 있는지 모니터링할 필요성이 제기되었다. 이런저런 궁리를 해도 생각되로 되지 않던 차에 Google 검색에서 그럴 듯한 것을 발견하였다. Kaushal Sheth씨의 2007/10/17일자로 투고된 기사에 유용한 소스가 있었다. 하지만 문제는 project에서 사용하고 있던 dojo toolkit이 아니라 prototype 프레임워크로 작성되어 있었다.

dojo toolkit으로 검색해 봐도 그럴듯한 것이 없어서 결국 위의 블로그 기사를 토대로 dojo toolkit으로 포팅하기로 마음먹게 되었다. 자세한 것은 원문을 확인하기 바라고, prototypedojo toolkit의 다른점만 짚고 넘어가고자 한다.

Declaring Class

제일 먼저 눈에 띄는 차이점이 Class의 선언방법이다. prototype에서는 다음과 같은 선언방식을 사용한다.

var Employee = Class.create(); /* 주의: 클래스도 객체다! 고로 var! */
Employee.prototype = {
   initialize : function(name, dept) { /* 주의: 생성자의 이름은 "initialize" 이다. ':' 이다! */
       this.name = name || "";
       this.dept = dept || "general";
   }, /* 주의: 여기 쉼표!! */  
   toString : function() { /* 주의: ':' 이다! */
        return "name=" + this.name + ",dept=" + this.dept;
   }  /* 주의: 여기에는 쉼표가 없다!! */
}); 

반면에 dojo toolkit에서는 다음과 같이 선언한다.

dojo.declare("Employee", null, { /* 주의: 클래스 이름을 따옴표로 둘러싼다! */
    constructor : function(name, dept) {  /* 주의: 생성자 이름은 "constructor" 이다! */
       this.name = name || '';
       this.dept = dept || 'general';
   },
   toString : function() {
      return "name=" + this.name + ",dept=" + this.dept;
   }
}); 

Array utility

다음으로 Array의 elements에 접근하는 방법이 서로 다르다. prototype의 경우 다음과 같은 접근방법을 사용한다.

['one', 'two', 'three'].each(function(s) {
  alert(s);
});

dojo toolkit의 경우에는 다음과 같다. Array가 인수로 들어가는 것을 빼면 큰 차이는 없다.

dojo.each(['one', 'two', 'three'], function(e){
   alert(e);
});

Add Event Listener

다음으로 event listener의 등록방법에서 차이를 보인다. 먼저 prototype의 경우를 살펴보자. 예를 들어 다음과 같이 간단한 form 이 있다고 가정하자.

<form id="signinForm" method="post" action="/auth/signin"></form>

여기에 form을 submit할때 checkForm이라는 메소드를 등록하고 싶다. 물론 form태그에 집어넣어도 되겠지만, 좀 더 깔끔하게 처리 하고 싶다. 그럴경우에 다음과 같이 page를 로딩할 때 form object에 이벤트를 등록하는 방법이 있다.

Event.observe(window, 'load', function() {
  Event.observe('signinForm', 'submit', checkForm);
});

훨씬 깔끔해 보이지 않는가?8-o 이 코드를 dojo toolkit으로 다음과 같이 표현할 수 있다.

dojo.addOnLoad(function(){
   dojo.connect(dojo.byId('signinForm'), 'submit', 'checkForm');
});

Trigger Custom Event

마지막으로 Custom Event를 발생시키는데서 prototypedojo toolkit이 큰 차이를 보인다. prototype에는 fire(eventName[, memo]) -> Event를 이용해 custom event를 쉽게 생성할 수 있다. 예를 들면 다음과 같다.

document.observe("widget:frobbed", function(event) {
  console.log("Element with ID (" + event.target.id +
   ") frobbed widget #" + event.memo.widgetNumber + ".");
});
 
var someNode = $('foo');
someNode.fire("widget:frobbed", { widgetNumber: 19 });
 
//-> "Element with ID (foo) frobbed widget #19."

여기서 memo는 나중에 event를 통해서 접근할 수 있어서, 어떤 값을 저장하는데 상당히 편리하다.

이에 비해 dojo toolkitPublish/Subscribe라는 강력한 Event System을 가지고 있다. prototype의 fire에 해당하는 것이 dojo.publish이고, event를 listener에 연결하는 것이 dojo.subscribe이다.

어떤 의미에서는 Observer Pattern이라고 볼 수 있다. publish하는 쪽에서는 누가 subscribe를 해도 신경쓸 필요가 없다.
덕분에 event와 listener사이의 decoupling(분리) 가 가능하게 되었다. 그만큼 유연하고 강력한 event system이라고 생각한다.

사용예는 다음과 같다.

 dojo.subscribe("alerts", null, function(caption, message){ alert(caption + "\n" + message); };
 dojo.publish("alerts", [ "read this", "hello world" ]); 
//

Demo page

Here’s a little demo page to see this in action.

reference

コメント

YEEZY, 2024/06/13 01:11

https://www.yeezyslidess.us.com/ Yeezy Slides https://www.yeezyslidess.us.com/category/yeezys-350/ Yeezy 350 https://www.yeezyfoamrunner.net/ Yeezy Foam Runner https://www.yeezyslides.us.com/ Yeezy Slides https://www.yeezy-shoes.us.com/ Yeezy Shoes https://www.yeezy-shoes.us.com/category/yeezys-slides/ https://www.yeezy-supplys.us.com/ Yeezy Supply https://www.yeezy-foamrunner.com/ Yeezy Foam Runner https://www.yeezyshoess.us.com/category/yeezys-slides/ https://www.yeezyshoess.us.com/ Yeezy Shoes https://www.yeezysupplys.us.com/ Yeezy Supply https://www.yeezyslidess.com/ Yeezy Slides https://www.yeezyslidess.us.com/ Yeezy Slides https://www.yeezyfoamrunner.net/ Yeezy https://www.yeezyslides.us.com/ Yeezy Slides Website https://www.yeezy-shoes.us.com/ Yeezy https://www.yeezy-supplys.us.com/ Yeezy Shoes https://www.yeezy-foamrunner.com/ Yeezy https://www.yeezy-supplys.us.com/category/yeezys-slides/ Yeezy Slides https://www.yeezyshoess.us.com/ Yeezy Shoes For Women https://www.yeezysupplys.us.com/ Yeezy https://www.yeezyslides.us.com/category/yeezys-500/ yeezy 500 https://www.yeezyslidess.com/ Yeezy Slides 2022 https://www.yeezyoutlets.com/ Yeezy Outlet https://www.yeezyoutlets.com/category/yeezys-350/ https://www.yeezysupplywebsite.com/ Yeezy Supply Website https://www.yeezysupplywebsite.com/category/yeezys-350/ https://www.yeezystore.org/ Yeezy Store https://www.yeezyshoess.us.com/category/yeezys-350/ https://www.yeezystore.org/category/yeezys-350/ https://www.yeezysupplyshipping.com/ Yeezy Supply https://www.yeezysupplyshipping.com/category/yeezys-350/ https://www.yeezyslidesprice.com/ Yeezy Slides Price https://www.yeezysofficialwebsite.com/ Adidas Yeezy Official Website https://www.yeezysofficialwebsite.com/category/yeezys-380/ https://www.yeezy-supplys.us.com/category/yeezys-350/ https://www.yeezy-supplys.us.com/category/yeezys-380/ https://www.yeezy-shoes.us.com/category/yeezys-350/ https://www.yeezy-supplys.us.com/sitemap.xml https://www.yeezyoutlets.com/sitemap.xml https://www.yeezystore.org/sitemap.xml https://www.yeezysupplywebsite.com/sitemap.xml https://www.yeezyslidess.us.com/sitemap.xml https://www.yeezyfoamrunner.net/sitemap.xml https://www.yeezyslides.us.com/sitemap.xml https://www.yeezyslidesprice.com/sitemap.xml https://www.yeezyslidess.us.com/sitemap.xml https://www.yeezy-shoes.us.com/sitemap.xml https://www.yeezysupplyshipping.com/sitemap.xml https://www.yeezysofficialwebsite.com/sitemap.xml https://www.yeezyshoess.us.com/sitemap.xml https://www.yeezyslidess.com/sitemap-misc.xml https://www.yeezyslidess.com/sitemap-post-2022.xml https://www.yeezyslidess.com/sitemap-post-2015.xml https://www.yeezyslidess.com/sitemap-post-2014.xml https://www.yeezyslidess.com/sitemap-post-2013.xml https://www.yeezyslidess.com/sitemap-blocks-2016.xml https://www.yeezyslidess.com/sitemap-product-2024.xml https://www.yeezyslidess.com/sitemap-featured_item-2016.xml https://www.yeezyslidess.com/sitemap-category.xml https://www.yeezyslidess.com/sitemap-post_tag.xml https://www.yeezyslidess.com/sitemap-product_cat.xml https://www.yeezyslidess.com/sitemap-featured_item_category.xml https://www.yeezyslidess.com/sitemap-page.xml https://www.yeezy-supplys.us.com/sitemap-misc.xml https://www.yeezy-supplys.us.com/sitemap-post-2024.xml https://www.yeezy-supplys.us.com/sitemap-post-2022.xml https://www.yeezy-supplys.us.com/sitemap-post-2015.xml https://www.yeezy-supplys.us.com/sitemap-post-2014.xml https://www.yeezy-supplys.us.com/sitemap-post-2013.xml https://www.yeezy-supplys.us.com/sitemap-blocks-2016.xml https://www.yeezy-supplys.us.com/sitemap-product-2024.xml https://www.yeezy-supplys.us.com/sitemap-featured_item-2016.xml https://www.yeezy-supplys.us.com/sitemap-category.xml https://www.yeezy-supplys.us.com/sitemap-post_tag.xml https://www.yeezy-supplys.us.com/sitemap-product_cat.xml https://www.yeezy-supplys.us.com/sitemap-featured_item_category.xml https://www.yeezy-supplys.us.com/sitemap-page.xml https://www.yeezyshoess.us.com/sitemap-misc.xml https://www.yeezyshoess.us.com/sitemap-post-2022.xml https://www.yeezyshoess.us.com/sitemap-post-2015.xml https://www.yeezyshoess.us.com/sitemap-post-2014.xml https://www.yeezyshoess.us.com/sitemap-post-2013.xml https://www.yeezyshoess.us.com/sitemap-blocks-2016.xml https://www.yeezyshoess.us.com/sitemap-product-2024.xml https://www.yeezyshoess.us.com/sitemap-featured_item-2016.xml https://www.yeezyshoess.us.com/sitemap-category.xml https://www.yeezyshoess.us.com/sitemap-post_tag.xml https://www.yeezyshoess.us.com/sitemap-product_cat.xml https://www.yeezyshoess.us.com/sitemap-featured_item_category.xml https://www.yeezyshoess.us.com/sitemap-page.xml

Flashy Links, 2026/07/31 17:53

<a href=“https://metriclabsource.com/”>Metric Lab Source</a> <a href=“https://metriclabsource.com/”>Buy Research Chemicals Online</a> <a href=“https://metriclabsource.com/”>Research Chemicals USA</a> <a href=“https://metriclabsource.com/”>Research Chemicals Europe</a> <a href=“https://metriclabsource.com/”>Buy Cheap Research Chemicals in Europe</a> <a href=“https://metriclabsource.com/”>Research Chemicals For Sale</a> <a href=“https://metriclabsource.com/”>Bulk Research Chemicals Cheap USA</a> <a href=“https://metriclabsource.com/”>Wholesale Cheap Research Chemicals Europe</a> <a href=“https://metriclabsource.com/”>Research Chemicals Supplier</a> <a href=“https://metriclabsource.com/”>Best research chemical seller website</a> <a href=“https://metriclabsource.com/”>USA Lab Chems</a> <a href=“https://metriclabsource.com/”>Purchase Research Chemicals Online</a> <a href=“https://metriclabsource.com/”>Order Research Chemicals Online</a> <a href=“https://metriclabsource.com/product-category/research-chemical/”>Research Chemical</a> <a href=“https://metriclabsource.com/product-category/research-chemical/amphetamines/”>Amphetamines</a> <a href=“https://metriclabsource.com/product-category/research-chemical/amphetamines/4-fma/”>4-FMA</a> <a href=“https://metriclabsource.com/product-category/research-chemical/benzodiazepines/”>Benzodiazepines</a> <a href=“https://metriclabsource.com/product-category/research-chemical/benzodiazepines/6-apb-benzofury/”>6-APB (Benzofury)</a> <a href=“https://metriclabsource.com/product-category/research-chemical/benzodiazepines/etizolam/”>Etizolam</a> <a href=“https://metriclabsource.com/product-category/research-chemical/benzofuran/”>Benzofuran</a> <a href=“https://metriclabsource.com/product-category/research-chemical/cathinonen/”>Cathinonen</a> <a href=“https://metriclabsource.com/product-category/research-chemical/cathinonen/3-mmc/”>3-MMC</a> <a href=“https://metriclabsource.com/product-category/research-chemical/lysergamides/”>Lysergamides</a> <a href=“https://metriclabsource.com/product-category/research-chemical/lysergamides/1p-lsd/”>1P-LSD</a> <a href=“https://metriclabsource.com/product-category/research-chemical/phenethylamines/”>Phenethylamines</a> <a href=“https://metriclabsource.com/product-category/research-chemical/phenethylamines/2c-b-fly/”>2C-B-FLY</a> <a href=“https://metriclabsource.com/product-category/stimulant/”>Stimulant</a> <a href=“https://metriclabsource.com/product/1b-lsd-125mcg-blotters/”>1B-LSD 125mcg Blotters</a> <a href=“https://metriclabsource.com/product/1cp-al-lad-150mcg-blotters/”>1cP-AL-LAD 150mcg Blotters</a> <a href=“https://metriclabsource.com/product/1cp-lsd-10mcg-micro-pellets/”>1cP-LSD 10mcg Micro Pellets</a> <a href=“https://metriclabsource.com/product/1cp-lsd-150mcg-art-blotters/”>1cP-LSD 150mcg Art Blotters</a> <a href=“https://metriclabsource.com/product/1cp-lsd-20mcg-micro-blotters/”>1cP-LSD 20mcg Micro Blotters</a> <a href=“https://metriclabsource.com/product/1cp-mipla-200mcg-blotters/”>1cP-MiPLA 200mcg Blotters</a> <a href=“https://metriclabsource.com/product/1d-lsd-10mcg-micro-pellets/”>1D-LSD 10mcg Micro Pellets</a> <a href=“https://metriclabsource.com/product/1d-lsd-225mcg-pellets/”>1D-LSD 225mcg Pellets</a> <a href=“https://metriclabsource.com/product/1p-lsd-100mcg-blotters/”>1P-LSD 100mcg Blotters</a> <a href=“https://metriclabsource.com/product/1p-lsd-150mcg-art-blotters/”>1P-LSD 150mcg Art Blotters</a> <a href=“https://metriclabsource.com/product/1p-lsd-150mcg-pellets/”>1P-LSD 150mcg Pellets</a> <a href=“https://metriclabsource.com/product/1p-lsd-20mcg-micro-blotters/”>1P-LSD 20mcg Micro Blotters</a> <a href=“https://metriclabsource.com/product/1v-lsd-150mcg-blotters/”>1V LSD 150mcg Blotters</a> <a href=“https://metriclabsource.com/product/1v-lsd-10mcg-micro-pellets/”>1V-LSD 10mcg Micro Pellets</a> <a href=“https://metriclabsource.com/product/1v-lsd-225mcg-art-blotters/”>1V-LSD 225mcg Art Blotters</a> <a href=“https://metriclabsource.com/product/1v-lsd-225mcg-pellets/”>1V-LSD 225mcg Pellets</a> <a href=“https://metriclabsource.com/product/2-cmc-crystal-chunks/”>2-CMC Crystal Chunks</a> <a href=“https://metriclabsource.com/product/2-cmc-crystal-powder/”>2-CMC Crystal Powder</a> <a href=“https://metriclabsource.com/product/2-fa-pellets-60mg/”>2-FA Pellets 60mg</a> <a href=“https://metriclabsource.com/product/2-fa-powder/”>2-FA Powder</a> <a href=“https://metriclabsource.com/product/2-fea-pellets-60mg/”>2-FEA Pellets 60mg</a> <a href=“https://metriclabsource.com/product/2-fea-powder/”>2-FEA Powder</a> <a href=“https://metriclabsource.com/product/2-fma-capsules-50mg/”>2-FMA Capsules 50mg</a> <a href=“https://metriclabsource.com/product/2-fma-pellets-50mg/”>2-FMA Pellets 50mg</a> <a href=“https://metriclabsource.com/product/2-fma-powder/”>2-FMA Powder</a> <a href=“https://metriclabsource.com/product/2-methyl-ap-237-hcl-pellets-20mg/”>2-METHYL-AP-237 HCl Pellets 20mg</a> <a href=“https://metriclabsource.com/product/2-methyl-ap-237-hcl-powder/”>2-METHYL-AP-237 HCl Powder</a> <a href=“https://metriclabsource.com/product/2-mmc-capsules-220mg/”>2-MMC capsules 220mg</a> <a href=“https://metriclabsource.com/product/2-mmc-crystal-chunks/”>2-MMC crystal chunks</a> <a href=“https://metriclabsource.com/product/2-mmc-crystal-powder/”>2-MMC Crystal Powder</a> <a href=“https://metriclabsource.com/product/2-mmc-pellets-180mg/”>2-MMC Pellets 180mg</a> <a href=“https://metriclabsource.com/product/2-mmc-pellets-220mg/”>2-MMC Pellets 220mg</a> <a href=“https://metriclabsource.com/product/2-mmc-pellets-250mg/”>2-MMC Pellets 250mg</a> <a href=“https://metriclabsource.com/product/2-mmc-powder/”>2-MMC Powder</a> <a href=“https://metriclabsource.com/product/2-3-fea-pellets-40mg-120mg/”>2/3-FEA Pellets 40mg/120mg</a> <a href=“https://metriclabsource.com/product/2-3-fea-pellets-50mg-125mg/”>2/3-FEA Pellets 50mg/125mg</a> <a href=“https://metriclabsource.com/product/2c-b-fly-10mg-blister/”>2C-B-FLY 10mg Blister</a> <a href=“https://metriclabsource.com/product/2c-b-fly-pellets-10mg/”>2C-B-FLY Pellets 10mg</a> <a href=“https://metriclabsource.com/product/2c-c-pellets-30mg/”>2C-C Pellets 30mg</a> <a href=“https://metriclabsource.com/product/2c-d-pellets-25mg/”>2C-D Pellets 25mg</a> <a href=“https://metriclabsource.com/product/2f-ketamine-crystal-chunks/”>2F-Ketamine Crystal Chunks</a> <a href=“https://metriclabsource.com/product/2f-ketamine-crystal-powder/”>2F-Ketamine Crystal powder</a> <a href=“https://metriclabsource.com/product/2f-ketamine-pellets-100mg/”>2F-Ketamine Pellets 100mg</a> <a href=“https://metriclabsource.com/product/2f-ketamine-pellets-50mg/”>2F-Ketamine Pellets 50mg</a> <a href=“https://metriclabsource.com/product/2f-ketamine-spray-15/”>2F-Ketamine Spray 15%</a> <a href=“https://metriclabsource.com/product/2f-ketamine-spray-25/”>2F-Ketamine Spray 25%</a> <a href=“https://metriclabsource.com/product/3-cec-crystal/”>3-CEC Crystal</a> <a href=“https://metriclabsource.com/product/3-cl-pcp-crystal/”>3-CL-PCP Crystal</a> <a href=“https://metriclabsource.com/product/3-fa-pellets-50mg/”>3-FA Pellets 50mg</a> <a href=“https://metriclabsource.com/product/3-fa-powder/”>3-FA Powder</a> <a href=“https://metriclabsource.com/product/3-fea-pellets-150mg/”>3-FEA Pellets 150mg</a> <a href=“https://metriclabsource.com/product/3-fea-powder/”>3-FEA Powder</a> <a href=“https://metriclabsource.com/product/3-fma-pellets-50mg/”>3-FMA Pellets 50mg</a> <a href=“https://metriclabsource.com/product/3-fma-powder/”>3-FMA Powder</a> <a href=“https://metriclabsource.com/product/3-fmc-powder/”>3-FMC Powder</a> <a href=“https://metriclabsource.com/product/3-fpm-pellets-60mg/”>3-FPM Pellets 60mg</a> <a href=“https://metriclabsource.com/product/3-fpm-powder/”>3-FPM Powder</a> <a href=“https://metriclabsource.com/product/3-ho-pce-powder/”>3-HO-PCE Powder</a> <a href=“https://metriclabsource.com/product/3-ho-pcp-crystal/”>3-HO-PCP Crystal</a> <a href=“https://metriclabsource.com/product/3-me-pce-powder/”>3-Me-PCE Powder</a> <a href=“https://metriclabsource.com/product/3-me-pcp-powder/”>3-Me-PCP Powder</a> <a href=“https://metriclabsource.com/product/3-me-pcpy-powder/”>3-Me-PCPy Powder</a> <a href=“https://metriclabsource.com/product/3-mec-powder/”>3-MEC Powder</a> <a href=“https://metriclabsource.com/product/3-meo-pce-powder/”>3-MeO-PCE Powder</a> <a href=“https://metriclabsource.com/product/3-mma-crystal/”>3-MMA Crystal</a> <a href=“https://metriclabsource.com/product/3-mma-powder/”>3-MMA Powder</a> <a href=“https://metriclabsource.com/product/3f-a-pvp-crystal/”>3F-a-PVP Crystal</a> <a href=“https://metriclabsource.com/product/3f-pcp-crystal/”>3F-PCP Crystal</a> <a href=“https://metriclabsource.com/product/4-aco-det-powder/”>4-AcO-DET Powder</a> <a href=“https://metriclabsource.com/product/4-aco-met-powder/”>4-AcO-MET Powder</a> <a href=“https://metriclabsource.com/product/4-bmc-crystals/”>4-BMC Crystals</a> <a href=“https://metriclabsource.com/product/4-cl-pvp-crystals/”>4-CL-PVP Crystals</a> <a href=“https://metriclabsource.com/product/4-fma-capsules-130mg/”>4-FMA Capsules 130mg</a> <a href=“https://metriclabsource.com/product/4-fma-pellets-100mg/”>4-FMA Pellets 100mg</a> <a href=“https://metriclabsource.com/product/4-fma-pellets-150mg/”>4-FMA Pellets 150mg</a> <a href=“https://metriclabsource.com/product/4-fma-powder/”>4-FMA Powder</a> <a href=“https://metriclabsource.com/product/4-ho-met-20mg-pellets/”>4-HO-MET 20mg Pellets</a> <a href=“https://metriclabsource.com/product/4-ho-mipt-20mg-pellets/”>4-HO-MiPT 20mg Pellets</a> <a href=“https://metriclabsource.com/product/4-methylmethylphenidate-4-me-tmp-20mg-pellets/”>4-Methylmethylphenidate (4-Me-TMP) 20mg pellets</a> <a href=“https://metriclabsource.com/product/4-methylmethylphenidate-4-me-tmp-crystal/”>4-Methylmethylphenidate (4-Me-TMP) crystal</a> <a href=“https://metriclabsource.com/product/4-mpd-crystals/”>4-MPD Crystals</a> <a href=“https://metriclabsource.com/product/4-pmc-powder/”>4-PMC powder</a> <a href=“https://metriclabsource.com/product/4b-mar-powder/”>4B-MAR Powder</a> <a href=“https://metriclabsource.com/product/4c-mar-powder/”>4C-MAR Powder</a> <a href=“https://metriclabsource.com/product/4f-mar-powder/”>4F-MAR Powder</a> <a href=“https://metriclabsource.com/product/4f-mph-15mg-pellets/”>4F-MPH 15mg Pellets</a> <a href=“https://metriclabsource.com/product/4f-mph-25mg-pellets/”>4F-MPH 25mg Pellets</a> <a href=“https://metriclabsource.com/product/4f-mph-30mg-pellets/”>4F-MPH 30mg Pellets</a> <a href=“https://metriclabsource.com/product/4f-mph-powder/”>4F-MPH Powder</a> <a href=“https://metriclabsource.com/product/4f-pihp-powder/”>4f-Pihp Powder</a> <a href=“https://metriclabsource.com/product/5-apb-capsules-90mg/”>5-APB Capsules 90mg</a> <a href=“https://metriclabsource.com/product/5-apb-capsules-90mg-2/”>5-APB Capsules 90mg</a> <a href=“https://metriclabsource.com/product/5-apb-powder/”>5-APB Powder</a> <a href=“https://metriclabsource.com/product/5-bromo-dmt-powder/”>5-Bromo-DMT Powder</a> <a href=“https://metriclabsource.com/product/5-mapb-capsules-100mg/”>5-MAPB Capsules 100mg</a> <a href=“https://metriclabsource.com/product/5-mapb-pellets-50mg/”>5-MAPB Pellets 50mg</a> <a href=“https://metriclabsource.com/product/5-mapb-powder/”>5-MAPB Powder</a> <a href=“https://metriclabsource.com/product/5-meo-dmt-liquid-freebase-1gram-5ml/”>5-MeO-DMT Liquid (Freebase) &ndash; 1gram/5ml</a> <a href=“https://metriclabsource.com/product/5-meo-dmt-powder-freebase/”>5-MeO-DMT Powder (Freebase)</a> <a href=“https://metriclabsource.com/product/5-meo-dmt-poeder-freebase/”>5-MeO-DMT Powder (Freebase)</a> <a href=“https://metriclabsource.com/product/5-meo-dmt-powder-fumarate/”>5-MeO-DMT Powder (Fumarate)</a> <a href=“https://metriclabsource.com/product/5-meo-dmt-powder-hydrochloride/”>5-MeO-DMT Powder (Hydrochloride)</a> <a href=“https://metriclabsource.com/product/5-meo-mipt-15mg-pellets/”>5-MeO-MiPT 15mg Pellets</a> <a href=“https://metriclabsource.com/product/5-meo-mipt-powder/”>5-MeO-MiPT Powder</a> <a href=“https://metriclabsource.com/product/5-mmpa-mephedrene-powder/”>5-MMPA (Mephedrene) Powder</a> <a href=“https://metriclabsource.com/product/5br-adb-inaca-powder/”>5BR-ADB-INACA Powder</a> <a href=“https://metriclabsource.com/product/6-apb-capsules-100mg/”>6-APB Capsules 100mg</a> <a href=“https://metriclabsource.com/product/6-apb-pellets-120mg/”>6-APB Pellets 120mg</a> <a href=“https://metriclabsource.com/product/6-apb-powder/”>6-APB Powder</a> <a href=“https://metriclabsource.com/product/6-cl-adba/”>6-CL-ADBA</a> <a href=“https://metriclabsource.com/product/7-abf/”>7-ABF</a> <a href=“https://metriclabsource.com/product/7-add/”>7-ADD</a> <a href=“https://metriclabsource.com/product/a-bpvp-powder/”>a-BPVP Powder</a> <a href=“https://metriclabsource.com/product/a-d2pv-crystal-chunks/”>a-D2PV Crystal chunks</a> <a href=“https://metriclabsource.com/product/a-pihp-crystal-chunks/”>a-PiHP Crystal Chunks</a> <a href=“https://metriclabsource.com/product/adb-butinaca/”>ADB-BUTINACA</a> <a href=“https://metriclabsource.com/product/alegria-citrus/”>Alegria Citrus</a> <a href=“https://metriclabsource.com/product/alegria-forest-fruits/”>Alegria Forest Fruits</a> <a href=“https://metriclabsource.com/product/alegria-naranja-sanguina/”>Alegria Naranja Sanguina</a> <a href=“https://metriclabsource.com/product/alegria-ocean-blue-magic/”>Alegria Ocean Blue Magic</a> <a href=“https://metriclabsource.com/product/alegria-super-nova/”>Alegria Super Nova</a> <a href=“https://metriclabsource.com/product/aniracetam-vega-caps-500mg-60-pack/”>Aniracetam Vega Caps 500mg (60 Pack)</a> <a href=“https://metriclabsource.com/product/apcyp-crystal/”>APCYP Crystal</a> <a href=“https://metriclabsource.com/product/avp-crystals/”>AVP Crystals</a> <a href=“https://metriclabsource.com/product/bacopa-monnieri-capsules-100mg/”>Bacopa Monnieri Capsules 100mg</a> <a href=“https://metriclabsource.com/product/beta-k-2c-b-80mg-blister/”>Beta-k-2C-B &beta;k-2C-B 80mg Blister</a> <a href=“https://metriclabsource.com/product/blue-bliss-pellets-80mg-5mapb-20mg-2fma-2mg-5-meo-mipt/”>Blue Bliss Pellets 80mg 5MAPB / 20mg 2FMA / 2mg 5-MeO-MiPT</a> <a href=“https://metriclabsource.com/product/blue-mandala/”>Blue Mandala</a> <a href=“https://metriclabsource.com/product/bromazolam-blister-10x-2-5mg/”>Bromazolam Blister &ndash; 10x 2.5mg</a> <a href=“https://metriclabsource.com/product/bromazolam-light-pellets-3mg/”>Bromazolam Light Pellets 3mg</a> <a href=“https://metriclabsource.com/product/bromazolam-pellets-3mg/”>Bromazolam Pellets 3mg</a> <a href=“https://metriclabsource.com/product/bromonordiazepam-blister-10x-2-5mg/”>Bromonordiazepam Blister &ndash; 10x 2.5mg</a> <a href=“https://metriclabsource.com/product/bromonordiazepam-pellets-2-5mg/”>Bromonordiazepam Pellets 2.5mg</a> <a href=“https://metriclabsource.com/product/bromonordiazepam-powder/”>Bromonordiazepam Powder</a> <a href=“https://metriclabsource.com/product/buy-bio-cocaine/”>Buy Bio Cocaine</a> <a href=“https://metriclabsource.com/product/buy-bolivian-cocaine/”>Buy Bolivian Cocaine</a> <a href=“https://metriclabsource.com/product/buy-coca-leaves-online/”>Buy Coca Leaves Online</a> <a href=“https://metriclabsource.com/product/buy-colombian-cocaine-online/”>Buy Colombian Cocaine Online</a> <a href=“https://metriclabsource.com/product/buy-crack-cocaine-online/”>Buy Crack Cocaine Online</a> <a href=“https://metriclabsource.com/product/buy-fishscale-cocaine-online/”>Buy Fishscale Cocaine Online</a> <a href=“https://metriclabsource.com/product/buy-lavada-cocaine-online/”>Buy Lavada Cocaine Online</a> <a href=“https://metriclabsource.com/product/buy-lidocaine-powder-online/”>Buy Lidocaine Powder Online</a> <a href=“https://metriclabsource.com/product/buy-mexican-cocaine-online/”>Buy Mexican Cocaine Online</a> <a href=“https://metriclabsource.com/product/buy-peruvian-cocaine-online/”>Buy Peruvian Cocaine Online</a> <a href=“https://metriclabsource.com/product/buy-pink-cocaine-online/”>Buy Pink Cocaine Online</a> <a href=“https://metriclabsource.com/product/buy-volkswagen-cocaine-online/”>Buy Volkswagen Cocaine Online</a> <a href=“https://metriclabsource.com/product/cbd-pellets-25mg/”>CBD Pellets 25mg</a> <a href=“https://metriclabsource.com/product/coluracetam-vega-caps-20mg-30-pcs/”>Coluracetam Vega Caps 20mg (30 pcs)</a> <a href=“https://metriclabsource.com/product/dechloroetizolam-pellets-5mg/”>Dechloroetizolam Pellets 5mg</a> <a href=“https://metriclabsource.com/product/deschcloroketamine-dck-pellets-20mg/”>DeschcloroKetamine (DCK) Pellets 20mg</a> <a href=“https://metriclabsource.com/product/deschloroketamine-dck-powder/”>DeschloroKetamine (DCK) Powder</a> <a href=“https://metriclabsource.com/product/dmc-powder/”>DMC Powder</a> <a href=“https://metriclabsource.com/product/dmxe-40mg-pellets/”>DMXE 40mg Pellets</a> <a href=“https://metriclabsource.com/product/dmxe-powder/”>DMXE Powder</a> <a href=“https://metriclabsource.com/product/ept-fumarate/”>EPT Fumarate</a> <a href=“https://metriclabsource.com/product/ethyl-pentedrone-powder/”>Ethyl Pentedrone Powder</a> <a href=“https://metriclabsource.com/product/ethyl-pentedrone-crystal-2/”>Ethyl-Pentedrone Crystal</a> <a href=“https://metriclabsource.com/product/ethyl-pentedrone-crystal/”>Ethyl-Pentedrone Crystal</a> <a href=“https://metriclabsource.com/product/extase-explosion-vanilla/”>eXtase eXplosion Vanilla</a> <a href=“https://metriclabsource.com/product/fasoracetam-vega-caps-20mg-60-pcs/”>Fasoracetam Vega Caps 20mg (60 pcs)</a> <a href=“https://metriclabsource.com/product/fladrafinil-vega-caps-50mg-60-pieces/”>Fladrafinil Vega Caps 50mg (60 pieces)</a> <a href=“https://metriclabsource.com/product/flubromazepam-pellets-8mg/”>Flubromazepam Pellets 8mg</a> <a href=“https://metriclabsource.com/product/flubromazepam-powder/”>Flubromazepam Powder</a> <a href=“https://metriclabsource.com/product/flubrotizolam-fanax-0-5mg/”>Flubrotizolam (FANAX) 0.5mg</a> <a href=“https://metriclabsource.com/product/flubrotizolam-blister-10x-0-5mg/”>Flubrotizolam Blister &ndash; 10x 0.5mg</a> <a href=“https://metriclabsource.com/product/fluetizolam-1mg-pellets/”>Fluetizolam 1mg Pellets</a> <a href=“https://metriclabsource.com/product/flunitrazolam-blotters-0-25mg/”>Flunitrazolam Blotters 0.25mg</a> <a href=“https://metriclabsource.com/product/flunitrazolam-pellets-0-25mg/”>Flunitrazolam Pellets 0.25mg</a> <a href=“https://metriclabsource.com/product/fluoroexetamine-fxe-crystal/”>Fluoroexetamine (FXE) Crystal</a> <a href=“https://metriclabsource.com/product/gidazepam-pellets-3mg/”>Gidazepam pellets 3mg</a> <a href=“https://metriclabsource.com/product/ginkgo-biloba-capsules-60mg/”>Ginkgo Biloba Capsules 60mg</a> <a href=“https://metriclabsource.com/product/ginkgo-biloba-vega-caps-60mg-90-pieces/”>Ginkgo Biloba Vega Caps 60mg (90 pieces)</a> <a href=“https://metriclabsource.com/product/green-mandala/”>Green Mandala</a> <a href=“https://metriclabsource.com/product/gw-0742-capsules/”>GW-0742 Capsules</a> <a href=“https://metriclabsource.com/product/gw-0742-powder/”>GW-0742 Powder</a> <a href=“https://metriclabsource.com/product/gw-501516-cardarine-capsules/”>GW-501516 (Cardarine) Capsules</a> <a href=“https://metriclabsource.com/product/gw-501516-powder/”>GW-501516 Powder</a> <a href=“https://metriclabsource.com/product/idra-21-powder/”>IDRA-21 Powder</a> <a href=“https://metriclabsource.com/product/lgd-4033-ligandrol-capsules/”>LGD-4033 (Ligandrol) Capsules</a> <a href=“https://metriclabsource.com/product/lgd-4033-powder-ligandrol/”>LGD-4033 Powder (Ligandrol)</a> <a href=“https://metriclabsource.com/product/maxtc-5-mapb-4-fma-5-meo-mipt-blister/”>MaXTC 5-MAPB/4-FMA/5-MeO-MiPT Blister</a> <a href=“https://metriclabsource.com/product/mdphp-pellets-25mg/”>MDPHP Pellets 25mg</a> <a href=“https://metriclabsource.com/product/mdphp-powder-freebase/”>MDPHP Powder (freebase)</a> <a href=“https://metriclabsource.com/product/mdpihp-crystal/”>MDPiHP Crystal</a> <a href=“https://metriclabsource.com/product/met-fumarate/”>MET Fumarate</a> <a href=“https://metriclabsource.com/product/metocin-4-ho-met-21-mg-blister/”>Metocin 4-HO-MET 21 MG Blister</a> <a href=“https://metriclabsource.com/product/mk-2866-ostarine-capsules/”>MK-2866 (Ostarine) Capsules</a> <a href=“https://metriclabsource.com/product/mk-2866-powder-ostarine-2/”>MK-2866 Powder (Ostarine)</a> <a href=“https://metriclabsource.com/product/mk-677-ibutamoren-capsules/”>MK-677 (Ibutamoren) Capsules</a> <a href=“https://metriclabsource.com/product/mk-677-ibutamoren-pellets-10mg/”>MK-677 (Ibutamoren) Pellets &ndash; 10mg</a> <a href=“https://metriclabsource.com/product/mk-677-powder-istobal-nutrobal/”>MK-677 Powder (Istobal/Nutrobal)</a> <a href=“https://metriclabsource.com/product/mucuna-pruriens-capsules-400mg/”>Mucuna Pruriens Capsules 400mg</a> <a href=“https://metriclabsource.com/product/mucuna-pruriens-vega-caps-400mg-125-pieces/”>Mucuna Pruriens Vega Caps 400mg (125 pieces)</a> <a href=“https://metriclabsource.com/product/417/”>MXiPr Powder</a> <a href=“https://metriclabsource.com/product/mxp-methoxphenidine-crystal/”>MXP (Methoxphenidine) Crystal</a> <a href=“https://metriclabsource.com/product/mxpr-powder/”>MXPr Powder</a> <a href=“https://metriclabsource.com/product/nb-5-meo-dalt-oxalate-powder/”>NB-5-MeO-DALT Oxalate Powder</a> <a href=“https://metriclabsource.com/product/nb-5-meo-mipt-oxalate-powder/”>NB-5-MeO-MiPT Oxalate Powder</a> <a href=“https://metriclabsource.com/product/nb-dmt-powder-oxalaat/”>NB-DMT Powder (Oxalaat)</a> <a href=“https://metriclabsource.com/product/nefiracetam-vega-caps-200mg-30-pcs/”>Nefiracetam Vega Caps 200mg (30 pcs)</a> <a href=“https://metriclabsource.com/product/nifoxipam-pellets-2mg/”>Nifoxipam Pellets 2mg</a> <a href=“https://metriclabsource.com/product/noopept-pellets-10mg/”>Noopept Pellets 10mg</a> <a href=“https://metriclabsource.com/product/noopept-powder/”>Noopept Powder</a> <a href=“https://metriclabsource.com/product/noopept-tablets-10mg-90-pieces/”>Noopept Tablets 10mg (90 pieces)</a> <a href=“https://metriclabsource.com/product/norflurazepam-blister-10x-10mg/”>Norflurazepam Blister &ndash; 10x 10mg</a> <a href=“https://metriclabsource.com/product/norflurazepam-blister-10x-5mg-r/”>Norflurazepam Blister &ndash; 10x 5mg R</a> <a href=“https://metriclabsource.com/product/norflurazepam-pellets-5mg/”>Norflurazepam Pellets 5mg</a> <a href=“https://metriclabsource.com/product/norflurazepam-powder/”>Norflurazepam Powder</a> <a href=“https://metriclabsource.com/product/o-dsmt-pellets-30mg/”>O-DSMT Pellets 30mg</a> <a href=“https://metriclabsource.com/product/o-dsmt-pellets-50mg/”>O-DSMT Pellets 50mg</a> <a href=“https://metriclabsource.com/product/o-dsmt-powder/”>O-DSMT Powder</a> <a href=“https://metriclabsource.com/product/o-pce-crystal/”>O-PCE Crystal</a> <a href=“https://metriclabsource.com/product/o-pce-pellets-10mg/”>O-PCE Pellets 10mg</a> <a href=“https://metriclabsource.com/product/o-pce-powder/”>O-PCE Powder</a> <a href=“https://metriclabsource.com/product/pagoclone-pellets-10mg/”>Pagoclone Pellets 10mg</a> <a href=“https://metriclabsource.com/product/phenibut-faa-vega-caps-175mg-60-pcs/”>Phenibut FAA Vega Caps 175mg (60 pcs)</a> <a href=“https://metriclabsource.com/product/phenibut-hcl-powder-25-gram/”>Phenibut HCl Powder &ndash; 25 gram</a> <a href=“https://metriclabsource.com/product/phenibut-hcl-vega-caps-200mg-90-pcs/”>Phenibut HCL Vega Caps 200mg (90 pcs)</a> <a href=“https://metriclabsource.com/product/phenylpiracetam-vega-caps-100mg-60-pack/”>Phenylpiracetam Vega Caps 100mg (60 Pack)</a> <a href=“https://metriclabsource.com/product/pink-mandala/”>Pink Mandala</a> <a href=“https://metriclabsource.com/product/pink-star-pellets-5-mapb-70mg-2-fma-20mg-5-meo-mipt-2mg/”>Pink Star Pellets 5-MAPB 70mg / 2-FMA 20mg / 5-MeO-MiPT 2mg</a> <a href=“https://metriclabsource.com/product/pramiracetam-vega-caps-200mg-60-pcs/”>Pramiracetam Vega Caps 200mg (60 pcs)</a> <a href=“https://metriclabsource.com/product/promal-methallylescaline-21-mg-blister/”>Promal Methallylescaline 21 MG Blister</a> <a href=“https://metriclabsource.com/product/purple-mandala/”>Purple Mandala</a> <a href=“https://metriclabsource.com/product/pyrazolam-pellets-3mg/”>Pyrazolam Pellets 3mg</a> <a href=“https://metriclabsource.com/product/rad-140-capsules/”>RAD-140 Capsules</a> <a href=“https://metriclabsource.com/product/rad-140-powder-testolone/”>RAD-140 powder (Testolone)</a> <a href=“https://metriclabsource.com/product/rad-150-capsules/”>RAD-150 Capsules</a> <a href=“https://metriclabsource.com/product/rad-150-powder/”>RAD-150 Powder</a> <a href=“https://metriclabsource.com/product/rilmazafone-pellets-4mg/”>Rilmazafone Pellets 4mg</a> <a href=“https://metriclabsource.com/product/s-23-capsules/”>S-23 Capsules</a> <a href=“https://metriclabsource.com/product/s-23-powder/”>S-23 Powder</a> <a href=“https://metriclabsource.com/product/s-4-andarine-capsules/”>S-4 (Andarine) Capsules</a> <a href=“https://metriclabsource.com/product/s4-powder-andarine/”>S4 Powder (Andarine)</a> <a href=“https://metriclabsource.com/product/sr-9009-stenabolic-capsules/”>SR-9009 (Stenabolic) Capsules</a> <a href=“https://metriclabsource.com/product/sr-9009-powder-stenabolic/”>SR-9009 Powder (Stenabolic)</a> <a href=“https://metriclabsource.com/product/sr-9011-capsules/”>SR-9011 Capsules</a> <a href=“https://metriclabsource.com/product/sr-9011-powder/”>SR-9011 Powder</a> <a href=“https://metriclabsource.com/product/sulbutiamine-vega-caps-175mg-60-pieces/”>Sulbutiamine Vega Caps 175mg (60 pieces)</a> <a href=“https://metriclabsource.com/product/vinpocetine-capsules-15mg/”>Vinpocetine Capsules 15mg</a> <a href=“https://metriclabsource.com/product/vinpocetine-vega-caps-90mg-60-pieces/”>Vinpocetine Vega Caps 90mg (60 pieces)</a> <a href=“https://metriclabsource.com/product/yellow-mandala/”>Yellow Mandala</a> <a href=“https://metriclabsource.com/product/yk-11-myostine-capsules/”>YK-11 (Myostine) Capsules</a> <a href=“https://metriclabsource.com/product/yk-11-powder-myostine/”>YK-11 Powder (Myostine)</a> <a href=“https://metriclabsource.com/product/%ce%b2oh-2c-b-60mg-pellets/”>&beta;OH-2C-B 60mg Pellets</a>

コメントを入力. Wiki文法が有効です:
G W᠎ C U P
 

QR Code
QR Code study:javascript:dojo:monitor (generated for current page)