title: Tampermonkey doesn't load on github until refreshed
body: <p>Everyone says use the <code>waitForKeyElements</code> utility.</p>
  
  <pre><code>// ==UserScript==
  // @name         Github raw to cdn to rawgit
  // @namespace    http://tampermonkey.net/
  // @version      0.1
  // @description  Add a CDN button to button group
  // @author       You
  // @match        https://github.com/*/*/blob/*/*
  // @include      https://github.com/*/*/blob/*/*
  // @grant        none
  // @require      https://code.jquery.com/jquery-3.3.1.min.js
  // @require      https://gist.github.com/raw/2625891/waitForKeyElements.js
  // ==/UserScript==
  
  waitForKeyElements('a#raw-url', addCDN);
  
  function addCDN(rawURL) {
      var href = rawURL.attr('href');
      var cdn = href.replace('/raw', '');
      var button = '&lt;a href="https://cdn.rawgit.com' + cdn + '" class="btn btn-sm BtnGroup-item" target="_blank"&gt;CDN&lt;/a&gt;';
      $(button).appendTo($('.BtnGroup'));
  }
  </code></pre>
  
  <p>I tried going to github homepage then navigate to the file. But it doesn't show that the script is running in tampermonkey. I refreshed the page then it's okay! Going to the homepage then navigate to the file it's there! I tried again to close the tab and freshly open the github homepage from a new tab then the problem's there again.</p>
  
  <p>Is something missing in my code? I also tried <code>$(function() {});</code> or the ready function. It's not working.</p>