зеркало из https://github.com/mozilla/gecko-dev.git
77 строки
1.6 KiB
HTML
77 строки
1.6 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<script type="application/javascript">
|
|
var img;
|
|
var audio;
|
|
var iframe;
|
|
|
|
addEventListener("message", function(e) {
|
|
mess = JSON.parse(e.data);
|
|
|
|
if ("img" in mess)
|
|
img.src = mess.img;
|
|
else if ("audio" in mess)
|
|
audio.src = mess.audio
|
|
else if ("iframe" in mess)
|
|
iframe.src = mess.iframe;
|
|
else if ("xhr" in mess) {
|
|
let xhr = new XMLHttpRequest();
|
|
xhr.onerror = function() {
|
|
sendItUp({ didError: true });
|
|
}
|
|
xhr.onload = function() {
|
|
sendItUp({ text: xhr.responseText });
|
|
}
|
|
try {
|
|
xhr.open("GET", mess.xhr);
|
|
xhr.send();
|
|
}
|
|
catch (ex) {
|
|
sendItUp({ didThrow: true });
|
|
}
|
|
}
|
|
|
|
}, false);
|
|
|
|
function sendItUp(obj) {
|
|
window.parent.postMessage(JSON.stringify(obj), "*");
|
|
}
|
|
|
|
function audioNotifyParent(e) {
|
|
sendItUp({ type: e.type });
|
|
}
|
|
|
|
function imgNotifyParent(e) {
|
|
sendItUp({ type: e.type,
|
|
width: e.target.width,
|
|
height: e.target.height });
|
|
}
|
|
|
|
function iframeNotifyParent(e) {
|
|
res = { type: e.type };
|
|
try {
|
|
res.text = e.target.contentDocument.getElementsByTagName("p")[0].textContent;
|
|
} catch (ex) {}
|
|
try {
|
|
res.imgWidth = e.target.contentDocument.getElementById("img").width;
|
|
} catch (ex) {}
|
|
|
|
sendItUp(res);
|
|
}
|
|
|
|
onload = function() {
|
|
img = document.getElementById('img');
|
|
img.onerror = img.onload = imgNotifyParent;
|
|
iframe = document.getElementById('iframe');
|
|
iframe.onerror = iframe.onload = iframeNotifyParent;
|
|
audio = document.getElementById('audio');
|
|
audio.onerror = audio.onloadeddata = audioNotifyParent;
|
|
}
|
|
|
|
</script>
|
|
<body>
|
|
<img id=img>
|
|
<audio id=audio>
|
|
<iframe id=iframe></iframe>
|
|
</html>
|