| author | hamidouk |
| Tue, 14 Feb 2012 17:14:57 +0100 | |
| branch | popcorn-port |
| changeset 809 | 1997dae651c6 |
| permissions | -rw-r--r-- |
|
809
1997dae651c6
added some code to handle embedding in an iframe and mediafragment.
hamidouk
parents:
diff
changeset
|
1 |
/* embed module - listens and relay hash changes to a parent window. */ |
|
1997dae651c6
added some code to handle embedding in an iframe and mediafragment.
hamidouk
parents:
diff
changeset
|
2 |
|
|
1997dae651c6
added some code to handle embedding in an iframe and mediafragment.
hamidouk
parents:
diff
changeset
|
3 |
IriSP.EmbedModule = function(Popcorn, config, Serializer) { |
|
1997dae651c6
added some code to handle embedding in an iframe and mediafragment.
hamidouk
parents:
diff
changeset
|
4 |
IriSP.Module.call(this, Popcorn, config, Serializer); |
|
1997dae651c6
added some code to handle embedding in an iframe and mediafragment.
hamidouk
parents:
diff
changeset
|
5 |
|
|
1997dae651c6
added some code to handle embedding in an iframe and mediafragment.
hamidouk
parents:
diff
changeset
|
6 |
window.addEventListener('message', IriSP.wrap(this, this.handleMessages), false); |
|
1997dae651c6
added some code to handle embedding in an iframe and mediafragment.
hamidouk
parents:
diff
changeset
|
7 |
this._Popcorn.listen("IriSP.Mediafragment.hashchange", IriSP.wrap(this, this.relayChanges)); |
|
1997dae651c6
added some code to handle embedding in an iframe and mediafragment.
hamidouk
parents:
diff
changeset
|
8 |
}; |
|
1997dae651c6
added some code to handle embedding in an iframe and mediafragment.
hamidouk
parents:
diff
changeset
|
9 |
|
|
1997dae651c6
added some code to handle embedding in an iframe and mediafragment.
hamidouk
parents:
diff
changeset
|
10 |
IriSP.EmbedModule.prototype = new IriSP.Module(); |
|
1997dae651c6
added some code to handle embedding in an iframe and mediafragment.
hamidouk
parents:
diff
changeset
|
11 |
|
|
1997dae651c6
added some code to handle embedding in an iframe and mediafragment.
hamidouk
parents:
diff
changeset
|
12 |
IriSP.EmbedModule.prototype.handleMessages = function(e) { |
|
1997dae651c6
added some code to handle embedding in an iframe and mediafragment.
hamidouk
parents:
diff
changeset
|
13 |
if (e.data.type === "hashchange") { |
|
1997dae651c6
added some code to handle embedding in an iframe and mediafragment.
hamidouk
parents:
diff
changeset
|
14 |
window.location.hash = e.data.value; |
|
1997dae651c6
added some code to handle embedding in an iframe and mediafragment.
hamidouk
parents:
diff
changeset
|
15 |
} |
|
1997dae651c6
added some code to handle embedding in an iframe and mediafragment.
hamidouk
parents:
diff
changeset
|
16 |
}; |
|
1997dae651c6
added some code to handle embedding in an iframe and mediafragment.
hamidouk
parents:
diff
changeset
|
17 |
|
|
1997dae651c6
added some code to handle embedding in an iframe and mediafragment.
hamidouk
parents:
diff
changeset
|
18 |
IriSP.EmbedModule.prototype.relayChanges = function(newHash) { |
|
1997dae651c6
added some code to handle embedding in an iframe and mediafragment.
hamidouk
parents:
diff
changeset
|
19 |
window.parent.postMessage({type: "hashchange", value: newHash}, "*"); |
|
1997dae651c6
added some code to handle embedding in an iframe and mediafragment.
hamidouk
parents:
diff
changeset
|
20 |
return; |
|
1997dae651c6
added some code to handle embedding in an iframe and mediafragment.
hamidouk
parents:
diff
changeset
|
21 |
}; |