2010-11-30 14 views
5

पर केवल एक बार फ़ायरफ़ॉक्स एक्सटेंशन कोड चलाया गया है, मैं एक फ़ायरफ़ॉक्स एक्सटेंशन बना रहा हूं जिसके लिए उपयोगकर्ता को लॉगिन करना आवश्यक है। प्रत्येक बार एक नई विंडो, लेकिन नया टैब खोला नहीं जाता है, एक्सटेंशन के लिए 'कोड' चलाया जाता है। मैं यह पसंद करूंगा कि कोड प्रति सत्र केवल एक बार चलाएगा।प्रति सत्र

एक्सटेंशन का सेटअप इस तरह दिखता है। overlay.xul में overlay chrome://browser/content/browser.xul chrome://my/overlay.xul

: (मुझे पता है कि अगर मैं कुछ भी याद आ रही है चलो):

क्रोम प्रकट में


<overlay id="socialSidebarOverlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://my/code.js" />
</overlay>

code.js में

:
alert('being called')

टी वह समस्या यह है कि "बुलाया जा रहा है" केवल तभी प्रदर्शित किया जाना चाहिए जब फ़ायरफ़ॉक्स शुरू होता है, न कि जब नए टैब या खिड़कियां खोली जाती हैं। इसे पूरा करने का एक तरीका क्या होगा?

उत्तर

3

आप एक JavaScript code module उपयोग कर सकते हैं सुनिश्चित करें कि आपके कोड केवल एक बार निष्पादित होता है बनाने के लिए।

+0

धन्यवाद !!!! यही वह है जिसकी तलाश में मैं हूं। जेएसएम मॉड्यूल केवल टैब के बाद भी लोड हो जाता है और नई विंडो खोले जाते हैं :) – Alexis

1

आप निरीक्षण करने के लिए (और पर कार्रवाई) चाहते हो सकता है में से एक संभव Mozilla Observer Notifications

या तो वास्तव में कुछ पर कार्रवाई जब शुरू, या में एक विशेष मूल्य है कि ब्राउज़र के बंद होने [इस रीसेट लिए आप एक्सटेंशन की जांच मुश्किल हो सकता है, क्योंकि असामान्य शटडाउन रीसेट नहीं हो सकता है]।

भी देखें: Receiving Startup Notifications

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