I updated my site to utilize html5 history and ajax recently. One of the challenges I faced was how to handle Gist embeds. Since they only consist of a single script tag it initially seemed like there wasn’t a lot to go on. Not to mention that it would trigger a document.write()
… and that would naturally ruin my site if it were triggered dynamically.
After looking some more at this embed system I found out that the Gist embed also has a json version which gives you its HTML content and a link to a stylesheet that it must load. With this info, I made a small jQuery snippet that would replace all these script elements with the actual HTML from the Gist
Please do note that I used a function called add_stylesheet_once
in the script displayed above. This is purely because I didn’t want the same stylesheet to embedded many, many times after navigating a few pages containing Gists.
Here are some other posts you may like
Electric power companies, in general, are pretty much the same. Tibber however, is unlike any electricity company I had seen before. They try to utilise the data we get from smart devices, which they also sell, to save electricity, money and the environment, as well as improving comfort. It’s a…
When working with Craft CMS and translating strings, you might need to translate dates as well. After all, countries format these differently. For example, while the US often uses "month day year" we in Norway use "day month year". Other differences can be wether they use dashes, slashes or just…
A common issue people experience with Gravity Forms is related to tabbing from one input to another. Especially when multiple forms are displayed on a page. The issue here is that it adds a tabindex attribute to all input elements. Tabindex in Gravity Froms The tabindex attribute tells the browser…