turbolinks 0.6.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +1 -1
- data/lib/assets/javascripts/turbolinks.js.coffee +6 -9
- metadata +1 -1
data/README.md
CHANGED
@@ -52,7 +52,7 @@ Asset change detection
|
|
52
52
|
|
53
53
|
You can track certain assets, like application.js and application.css, that you want to ensure are always of the latest version inside a Turbolinks session. This is done by marking those asset links with data-turbolinks-track, like so:
|
54
54
|
|
55
|
-
|
55
|
+
```<link href="/assets/application-9bd64a86adb3cd9ab3b16e9dca67a33a.css" rel="stylesheet" type="text/css" data-turbolinks-track>```
|
56
56
|
|
57
57
|
If those assets change URLs (embed an md5 stamp to ensure this), the page will do a full reload instead of going through Turbolinks. This ensures that all Turbolinks sessions will always be running off your latest JavaScript and CSS.
|
58
58
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
initialized = false
|
2
2
|
currentState = null
|
3
3
|
referer = document.location.href
|
4
|
-
|
4
|
+
loadedAssets = null
|
5
5
|
pageCache = {}
|
6
6
|
createDocument = null
|
7
7
|
|
@@ -99,9 +99,6 @@ rememberCurrentUrl = ->
|
|
99
99
|
rememberCurrentState = ->
|
100
100
|
currentState = window.history.state
|
101
101
|
|
102
|
-
rememberCurrentTrackingAssets = ->
|
103
|
-
trackingAssets = extractTrackAssets document
|
104
|
-
|
105
102
|
rememberInitialPage = ->
|
106
103
|
unless initialized
|
107
104
|
rememberCurrentUrl()
|
@@ -121,13 +118,14 @@ triggerEvent = (name) ->
|
|
121
118
|
event.initEvent name, true, true
|
122
119
|
document.dispatchEvent event
|
123
120
|
|
121
|
+
|
124
122
|
extractTrackAssets = (doc) ->
|
125
123
|
(node.src || node.href) for node in doc.head.childNodes when node.getAttribute?('data-turbolinks-track')?
|
126
124
|
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
125
|
+
assetsChanged = (doc) ->
|
126
|
+
loadedAssets ||= extractTrackAssets document
|
127
|
+
fetchedAssets = extractTrackAssets doc
|
128
|
+
fetchedAssets.length isnt loadedAssets.length or intersection(fetchedAssets, loadedAssets).length isnt loadedAssets.length
|
131
129
|
|
132
130
|
intersection = (a, b) ->
|
133
131
|
[a, b] = [b, a] if a.length > b.length
|
@@ -205,7 +203,6 @@ browserSupportsPushState =
|
|
205
203
|
window.history and window.history.pushState and window.history.replaceState and window.history.state != undefined
|
206
204
|
|
207
205
|
if browserSupportsPushState
|
208
|
-
rememberCurrentTrackingAssets()
|
209
206
|
document.addEventListener 'click', installClickHandlerLast, true
|
210
207
|
|
211
208
|
window.addEventListener 'popstate', (event) ->
|