diff --git a/app/assets/javascripts/helpers/protocol_handler.js b/app/assets/javascripts/helpers/protocol_handler.js new file mode 100644 index 0000000000000000000000000000000000000000..6d9368979fc50466e5c7ce3e8facb67684e452a2 --- /dev/null +++ b/app/assets/javascripts/helpers/protocol_handler.js @@ -0,0 +1,22 @@ +// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later + +Diaspora.ProtocolHandler = { + register: function() { + if (typeof (window.navigator.registerProtocolHandler) !== "function") { + return false; + } + + var protocol = location.protocol; + var slashes = protocol.concat("//"); + var host = slashes.concat(window.location.hostname); + + if (location.port) { + host = host.concat(":" + location.port); + } + + window.navigator.registerProtocolHandler("web+diaspora", host.concat("/link?q=%s"), document.title); + return true; + } +}; + +Diaspora.ProtocolHandler.register(); diff --git a/app/assets/javascripts/main.js b/app/assets/javascripts/main.js index 563bbc3151fba4162f1533b3e6316497d541ea06..e359ad7c2ddafb9a32ebe80f05754c82edb5d76d 100644 --- a/app/assets/javascripts/main.js +++ b/app/assets/javascripts/main.js @@ -45,5 +45,5 @@ //= require api/authorization_page //= require bootstrap-markdown/bootstrap-markdown //= require helpers/markdown_editor +//= require helpers/protocol_handler //= require jquery.are-you-sure -//= require protocol-handler diff --git a/app/assets/javascripts/protocol-handler.js b/app/assets/javascripts/protocol-handler.js deleted file mode 100644 index 6afedf40940f010d9746bbba4614f6d9d020982f..0000000000000000000000000000000000000000 --- a/app/assets/javascripts/protocol-handler.js +++ /dev/null @@ -1,17 +0,0 @@ -// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later - -function registerDiasporaLinksProtocol() { - var protocol = location.protocol; - var slashes = protocol.concat("//"); - var host = slashes.concat(window.location.hostname); - - if (location.port) { - host = host.concat(":" + location.port); - } - - window.navigator.registerProtocolHandler("web+diaspora", host.concat("/link?q=%s"), document.title); -} - -if (typeof (window.navigator.registerProtocolHandler) === "function") { - registerDiasporaLinksProtocol(); -}