2014-10-09 18 views
8

मेरी Greasemonkey स्क्रिप्ट के लिए, पृष्ठ लोड होने से पहले चलने वाले कोड का हिस्सा है (@run-at document-start) और दस्तावेज़ के लोड होने के बाद चलने वाले कोड का एक और भाग लोड किया जाना चाहिए (@run-at document-end)।
क्या यह संभव है? स्क्रिप्ट रन @ रन-ऑन दस्तावेज़-स्टार्ट और @ रन-ऑन दस्तावेज़-एंड पर चलाने के लिए Greasemonkey स्क्रिप्ट कैसे प्राप्त करें?

  • पृष्ठ लोड होता है की

    • 1 हिस्सा है, दस्तावेज़
    • स्क्रिप्ट रन के 2 भाग

    मैं नहीं बल्कि इस बात के लिए jQuery का उपयोग नहीं चाहते हैं के लिए तैयार है।

    मैंने onload ईवेंट की कोशिश की लेकिन यह काम नहीं किया। मुझे लगता है कि अगर दस्तावेज़ अभी तक नहीं है तो घटना संलग्न नहीं की जा सकती है?

    window.document.onload = function(e){ 
        alert("document.onload"); 
    } 
    
  • उत्तर

    15

    जो घटना आप चाहते हैं वह DOMContentLoaded है। साथ ही, load ईवेंट का उपयोग करने का तरीका नहीं है।

    // ==UserScript== 
    // @name  _Show page start event timing 
    // @include  http://YOUR_SERVER.COM/YOUR_PATH/* 
    // @run-at  document-start 
    // ==/UserScript== 
    console.log ("==> Script start.", new Date()); 
    
    // 1ST PART OF SCRIPT RUN GOES HERE. 
    console.log ("==> 1st part of script run.", new Date()); 
    
    document.addEventListener ("DOMContentLoaded", DOM_ContentReady); 
    window.addEventListener ("load", pageFullyLoaded); 
    
    function DOM_ContentReady() { 
        // 2ND PART OF SCRIPT RUN GOES HERE. 
        // This is the equivalent of @run-at document-end 
        console.log ("==> 2nd part of script run.", new Date()); 
    } 
    
    function pageFullyLoaded() { 
        console.log ("==> Page is fully loaded, including images.", new Date()); 
    } 
    
    console.log ("==> Script end.", new Date()); 
    

    ठेठ परिणाम::

    "==> Script start."       2014-10-09T01:53:49.323Z 
    "==> 1st part of script run."     2014-10-09T01:53:49.323Z 
    "==> Script end."        2014-10-09T01:53:49.323Z 
    "==> 2nd part of script run."     2014-10-09T01:53:49.385Z 
    "==> Page is fully loaded, including images." 2014-10-09T01:53:49.487Z 
    

    यहां एक संपूर्ण स्क्रिप्ट है कि विभिन्न फायरिंग बार दर्शाता है

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