2013-03-03 10 views
5

मैं उल्का से राउटर पैकेज का उपयोग कर रहा हूं।मेटियर राउटर हमेशा दो बार चल रहा है

Meteor.Router.add 
    "/article/:id": -> 
    log "article" 
    "article" 

जब भी लेख पृष्ठ/टेम्पलेट लोड हो जाता है, रूटर में कॉलबैक फ़ंक्शन हमेशा दो बार चलाने के हो जाता है। मैं लेखों की दृश्य गणना बढ़ाने के लिए कॉलबैक फ़ंक्शन का उपयोग करने का प्रयास कर रहा हूं। तो यह एक समस्या है (हर inc दो बार किया जाता है)।

क्या यह इरादा व्यवहार है? या मैंने कुछ गलत किया?

अद्यतन

यह वास्तव में हमेशा दो बार चलाया जा रहा है। ऐसा तब होता है जब पृष्ठ रीफ्रेश किया जाता है या पहली बार ब्राउज़र पृष्ठ पर नेविगेट करता है। भले ही, यह अभी भी एक समस्या है।

+0

यह इरादा व्यवहार नहीं है, आप प्रत्येक लेख के यूआरएल को कैसे लोड करते हैं? क्या यह 'उल्का। राउटर.तो' के माध्यम से है? या एक यूआरएल? – Akshat

+0

मैं मुख्य HTML फ़ाइल के अंदर प्रदत्त हेल्पर {{renderPage}} का उपयोग कर रहा हूं जिसमें टैग शामिल है। और लेख पृष्ठ संबंधित टेम्पलेट के अंदर सामग्री के साथ भरा हुआ है। – Dave

+0

मेरा मतलब है कि जब आप अपने ब्राउज़र में '/ article/1' लोड करते हैं तो क्या आप पृष्ठ लोड करने के लिए' 'का उपयोग करते हैं या' उल्का। राउटर.to ('/ article/1') '? – Akshat

उत्तर

2

अद्यतन:

अपराधी एचटीएमएल 5-इतिहास-एपीआई पैकेज मैं IE 8+ मार्ग समर्थन के लिए उपयोग कर रहा हूँ है। नीचे दिया गया समाधान उसी सेटअप और समस्या वाले लोगों की सहायता करने के लिए काम करेगा।


एक समाधान मिला। लेकिन मुझे यकीन नहीं है कि यह इसे संभालने का एकमात्र तरीका है या नहीं।

"/article/:id": (id) -> 
    unless this.init 
    Session.set "articleId", id 
    Meteor.call "incArticleViews", id 
    "article" 

यदि कोई बेहतर समाधान है, तो कृपया इसे पोस्ट करें और मैं स्वीकार करूंगा।

+0

यह हमेशा एफएफ में काम नहीं करता है, लेकिन यह क्रोम में डबल हिट को रोकता है। – cazgp

संबंधित मुद्दे