Skip to content

Instantly share code, notes, and snippets.

@leadVisionary
Created February 21, 2018 03:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save leadVisionary/b54681aed83f3e6391fec8ba44c6cb83 to your computer and use it in GitHub Desktop.
Save leadVisionary/b54681aed83f3e6391fec8ba44c6cb83 to your computer and use it in GitHub Desktop.
First Attempt at ECMAScript modules
export default function crossPlatformSpanTextUpdate(span, text) {
if ('textContent' in span) {
span.textContent = text;
} else {
span.innerText = text;
}
}
<html>
<head>
<title>An E-commerce retailer</title>
</head>
<body>
<h1>
Hello <span id="greeting">Placeholder</span>!</h1>
<h2>
Please <a href="https://www.blogger.com/buy/12345">buy</a> this product</h2>
</body>
<script src="greeting.js" type="module"></script>
<script type="text/javascript">
document.onready = greetCustomer(document.querySelector("#greeting"));
</script>
</html>
import {getUserPreferredLanguage} from './language.js'
import {crossPlatformSpanTextUpdate} from './cross_platform_span_update.js'
export default function greetCustomer(location) {
loadGreeting(location, getUserPreferredLanguage());
}
function loadGreeting(span, lang) {
var text = greeting(lang);
crossPlatformSpanTextUpdate(span, text);
}
function greeting(lang) {
if (lang === "es") {
return "Dear dear Customer";
}
return "Valued Shopper";
}
/*
used for language detection from
https://stackoverflow.com/questions/1043339/javascript-for-detecting-browser-language-preference
*/
export default function getUserPreferredLanguage() {
return window.navigator.languages[0] ||
[window.navigator.language || window.navigator.userLanguage];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment