PERF: Remove unnecessary <link rel="preload"> for theme javascript (#26220)
This is a follow up to e2da72b76c
.
Why this change?
According to https://web.dev/articles/preload-critical-assets,
> By preloading a certain resource, you are telling the browser that you would like to fetch it sooner than the browser would otherwise discover it because you are certain that it is important for the current page.
The preload resource hint is meant to tell the browser to fetch
resources that it would not discover upfront or early. However, we are
not using it the right way because we are literally adding the resource
hint right before a `<script>` tag which means the browser would have
discovered the resource even without the resource hint.
What does this change do?
This commit removes the preload resource hint which are added right
before script tags since the optimization here is highly questionable at the expense of making
our initial DOM larger.
This commit is contained in:
parent
fe02868a79
commit
239b70342f
|
@ -6,7 +6,7 @@ require "json_schemer"
|
|||
class Theme < ActiveRecord::Base
|
||||
include GlobalPath
|
||||
|
||||
BASE_COMPILER_VERSION = 80
|
||||
BASE_COMPILER_VERSION = 81
|
||||
|
||||
class SettingsMigrationError < StandardError
|
||||
end
|
||||
|
@ -471,7 +471,6 @@ class Theme < ActiveRecord::Base
|
|||
.compact
|
||||
|
||||
caches.map { |c| <<~HTML.html_safe }.join("\n")
|
||||
<link rel="preload" href="#{c.url}" as="script" nonce="#{ThemeField::CSP_NONCE_PLACEHOLDER}">
|
||||
<script defer src="#{c.url}" data-theme-id="#{c.theme_id}" nonce="#{ThemeField::CSP_NONCE_PLACEHOLDER}"></script>
|
||||
HTML
|
||||
end
|
||||
|
|
|
@ -191,7 +191,6 @@ class ThemeField < ActiveRecord::Base
|
|||
javascript_cache.save!
|
||||
|
||||
doc.add_child(<<~HTML.html_safe) if javascript_cache.content.present?
|
||||
<link rel="preload" href="#{javascript_cache.url}" as="script" nonce="#{CSP_NONCE_PLACEHOLDER}">
|
||||
<script defer src='#{javascript_cache.url}' data-theme-id='#{theme_id}' nonce="#{CSP_NONCE_PLACEHOLDER}"></script>
|
||||
HTML
|
||||
[doc.to_s, errors&.join("\n")]
|
||||
|
@ -300,7 +299,6 @@ class ThemeField < ActiveRecord::Base
|
|||
javascript_cache.save!
|
||||
doc = ""
|
||||
doc = <<~HTML.html_safe if javascript_cache.content.present?
|
||||
<link rel="preload" href="#{javascript_cache.url}" as="script" nonce="#{ThemeField::CSP_NONCE_PLACEHOLDER}">
|
||||
<script defer src="#{javascript_cache.url}" data-theme-id="#{theme_id}" nonce="#{ThemeField::CSP_NONCE_PLACEHOLDER}"></script>
|
||||
HTML
|
||||
[doc, errors&.join("\n")]
|
||||
|
|
Loading…
Reference in New Issue