Embedding Media

Embedding is the process of including media from other sources into your web sites.

"other documents" can include:

"embedding" is sometimes also called "including" or "transcluding"

Interactive Embedding

Sometimes you can use JavaScript to interact with the embedded file or app as if it were another User Interface element on your page!

For instance, you could programmatically pause and play an embedded audio clip, say, playing "hoorah!" when the user wins a game of Tic-Tac-Toe.

Or, if the user moves their location on an embedded Google Map, your app could be notified and find the city name and look up restaurants in that area on Yelp's API.

This lesson focuses on static embedding: displaying media and allowing the user to interact with it directly. The Interactive Embedding lesson focuses on interactive embedding: using JavaScript to pass messages between your page's scripts and the embedded media.

Embedding Images

<img src=''> is the original embed

MDN: img

Where does the media come from?

Embedding IFrames

<iframe> means "inline frame"

<iframe id="inlineFrameExample"
    title="Inline Frame Example"
    width="300"
    height="200"
    src="https://www.openstreetmap.org/export/embed.html?bbox=-0.004017949104309083%2C51.47612752641776%2C0.00030577182769775396%2C51.478569861898606&layer=mapnik">
</iframe>

More Information

MDN IFrame Reference

Malware Vectors

Beware the "same origin policy":

Refused to display 'http://www.burlingtoncodeacademy.com/' in a frame because it set 'X-Frame-Options' to 'sameorigin'.

Beware giving foreign JavaScript access to your page contents and user-input data

Embedding HTML snippets

You can use iframes to load the same HTML onto several pages on your site.

This is often used for login boxes.

Warning: iframes can take longer to load than the rest of the page, and can eat up CPU and RAM, so don't overuse them

Embedding Flash

R I P Flash

"In July 2017, Adobe announced that it would declare Flash to be end-of-life in 2020, and will cease support, distribution, and security updates to Flash Player."

Embedding Video

HTML5 defines a standard <video> tag

Tip: you can use automatically start playing the video when the page loads; to be polite you should also mute the volume, like this: <video muted=true autoplay=true src='/videos/yelling-man.mp4'>

Embedding Audio

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio

Playing Audio from JavaScript

Playing sounds directly from JavaScript is pretty easy:

let audio = new Audio('audio_file.mp3');
audio.play();

Embedding Maps

<iframe id="inlineFrameExample"
    title="Inline Frame Example"
    width="300"
    height="200"
    src="https://www.openstreetmap.org/export/embed.html?bbox=-73.2130900,44.4749000,-73.2102500,44.4772200&layer=mapnik">
</iframe>

OpenStreetMaps defines a "bounding box" as a four-tuple: min Longitude, min Latitude, max Longitude, max Latitude.

You can find the bounding box for a given map on https://www.openstreetmap.org/ by clicking the Export button.

Scripting Maps

It is possible to use JavaScript to interact with an embedded map. See the client-side coding lesson on embedding

 Previous

Outline

[menu]

/