diff --git a/app/assets/javascripts/shortcuts.js b/app/assets/javascripts/shortcuts.js
index 49d980212d6b8972026c67cd5b483a16dbca3c45..e3daa8cf9494d155e7e19faef587d285bf54fca9 100644
--- a/app/assets/javascripts/shortcuts.js
+++ b/app/assets/javascripts/shortcuts.js
@@ -1,6 +1,5 @@
 /* eslint-disable func-names, space-before-function-paren, no-var, prefer-rest-params, wrap-iife, quotes, prefer-arrow-callback, consistent-return, object-shorthand, no-unused-vars, one-var, one-var-declaration-per-line, no-else-return, comma-dangle, max-len */
 /* global Mousetrap */
-/* global findFileURL */
 import Cookies from 'js-cookie';
 
 import findAndFollowLink from './shortcuts_dashboard_navigation';
@@ -20,6 +19,7 @@ import findAndFollowLink from './shortcuts_dashboard_navigation';
 
       const $globalDropdownMenu = $('.global-dropdown-menu');
       const $globalDropdownToggle = $('.global-dropdown-toggle');
+      const findFileURL = document.body.dataset.findFile;
 
       $('.global-dropdown').on('hide.bs.dropdown', () => {
         $globalDropdownMenu.removeClass('shortcuts');
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb
index 6a62c7ab0be4440ecf93737fb2303d16c27e8c06..26d11f9ab4690afc2cce73ce05f4f2ca7913f9a5 100644
--- a/app/helpers/projects_helper.rb
+++ b/app/helpers/projects_helper.rb
@@ -518,4 +518,12 @@ module ProjectsHelper
 
     current_application_settings.restricted_visibility_levels || []
   end
+
+  def find_file_path
+    return unless @project && !@project.empty_repo?
+
+    ref = @ref || @project.repository.root_ref
+
+    project_find_file_path(@project, ref)
+  end
 end
diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml
index 81f83b74826f80a17705afe565175bda71492b07..38b95d11fd4993ad96bef49428ae618bfe138807 100644
--- a/app/views/layouts/application.html.haml
+++ b/app/views/layouts/application.html.haml
@@ -1,7 +1,7 @@
 !!! 5
 %html{ lang: I18n.locale, class: "#{page_class}" }
   = render "layouts/head"
-  %body{ class: @body_class, data: { page: body_data_page, project: "#{@project.path if @project}", group: "#{@group.path if @group}" } }
+  %body{ class: @body_class, data: { page: body_data_page, project: "#{@project.path if @project}", group: "#{@group.path if @group}", find_file: find_file_path } }
     = render "layouts/init_auto_complete" if @gfm_form
     - if show_new_nav?
       = render "layouts/header/new"
diff --git a/app/views/layouts/header/_default.html.haml b/app/views/layouts/header/_default.html.haml
index 25acdb700ef5a0aa6d6bc0dcaac2ba446f126aea..bc3293fd1009e3306641f8e8c8dc76bb57912c1c 100644
--- a/app/views/layouts/header/_default.html.haml
+++ b/app/views/layouts/header/_default.html.haml
@@ -91,8 +91,3 @@
       = yield :header_content
 
 = render 'shared/outdated_browser'
-
-- if @project && !@project.empty_repo?
-  - if ref = @ref || @project.repository.root_ref
-    :javascript
-      var findFileURL = "#{project_find_file_path(@project, ref)}";
diff --git a/app/views/layouts/header/_new.html.haml b/app/views/layouts/header/_new.html.haml
index 5bc15d68631554e8fb14f4b6f78b86e5b281585d..4697d91724b8a7bedfc8c21232d4931a2d2c0092 100644
--- a/app/views/layouts/header/_new.html.haml
+++ b/app/views/layouts/header/_new.html.haml
@@ -84,8 +84,3 @@
         = icon('times', class: 'js-navbar-toggle-left', style: 'display: none;')
 
 = render 'shared/outdated_browser'
-
-- if @project && !@project.empty_repo?
-  - if ref = @ref || @project.repository.root_ref
-    :javascript
-      var findFileURL = "#{project_find_file_path(@project, ref)}";