X-Git-Url: https://git.ao2.it/GM_direct_download_links.git/blobdiff_plain/5acbbffe01cfc5d603dbfc5177b092a879286a75..65adaf39142ca9c2cfbe239bfafff690833a42cc:/direct_download_links.user.js diff --git a/direct_download_links.user.js b/direct_download_links.user.js index d430887..9f42a3f 100644 --- a/direct_download_links.user.js +++ b/direct_download_links.user.js @@ -185,16 +185,24 @@ function _add_link(e) { return; } - var download_link = document.createElement('a'); - download_link.textContent = 'Direct Link'; - download_link.setAttribute('href', URL); - var style = 'background-color: white; color: blue;'; - style += ' border: 2px solid red;' - style += ' float: right; font-size: large;'; - style += ' padding: .5em; margin: 1em;' - download_link.setAttribute('style', style); - - destination.insertBefore(download_link, destination.firstChild); + // Check if we added the link already, if so just update the href attribute. + // This is useful when _get_URL() is called on async events. + var download_link = document.getElementById('GM_direct_downaload_link'); + if (download_link) { + download_link.setAttribute('href', URL); + } else { + download_link = document.createElement('a'); + download_link.textContent = 'Direct Link'; + download_link.setAttribute('id', 'GM_direct_downaload_link'); + download_link.setAttribute('href', URL); + var style = 'background-color: white; color: blue;'; + style += ' border: 2px solid red;' + style += ' float: right; font-size: large;'; + style += ' padding: .5em; margin: 1em;' + download_link.setAttribute('style', style); + + destination.insertBefore(download_link, destination.firstChild); + } } function DDL_log(message) {