diff --git a/examples/templates/example.html b/examples/templates/example.html
index 341c253330..6d10e37676 100644
--- a/examples/templates/example.html
+++ b/examples/templates/example.html
@@ -240,41 +240,39 @@
modal.find('.modal-title').text(title);
modal.find('.modal-body').html(content);
});
+
+ var packageUrl = 'https://raw.githubusercontent.com/openlayers/openlayers.github.io/build/package.json';
+ fetch(packageUrl).then(function(response) {
+ return response.json();
+ }).then(function(json) {
+ var latestVersion = json.version;
+ document.getElementById('latest-version').innerHTML = latestVersion;
+ var url = window.location.href;
+ var branchSearch = url.match(/\/([^\/]*)\/examples\//);
+ var cookieText = 'dismissed=-' + latestVersion + '-';
+ var dismissed = document.cookie.indexOf(cookieText) != -1;
+ if (branchSearch && !dismissed && /^v[0-9\.]*$/.test(branchSearch[1]) && '{{ olVersion }}' != latestVersion) {
+ var link = url.replace(branchSearch[0], '/latest/examples/');
+ fetch(link, {method: 'head'}).then(function(response) {
+ var a = document.getElementById('latest-link');
+ a.href = response.status == 200 ? link : '../../latest/examples/';
+ });
+ var latestCheck = document.getElementById('latest-check');
+ latestCheck.style.display = '';
+ document.getElementById('latest-dismiss').onclick = function() {
+ latestCheck.style.display = 'none';
+ document.cookie = cookieText;
+ }
+ }
+
+ var experimentalNotice = document.getElementById('experimental-notice');
+ if (window.experimental) {
+ experimentalNotice.style.display = 'block';
+ document.getElementById('experimental-dismiss').onclick = function() {
+ experimentalNotice.style.display = 'none';
+ }
+ }
+ });