[ads]
Vous saviez que l’hélium se faisait de plus en plus rare? Et vous avez déjà pensé que les bonbonnes pour hélium n’étaient pas très très écologiques? Voici une alternative pour gonfler les ballons d’anniversaire! Et n’ayez crainte! C’est le gaz qui monte dans le ballon, et non le vinaigre. Ça ne sentira donc pas en crevant.
COMMENT FAIRE:
-Il faut d’abord ajouter de 3 à 5 cm de vinaigre blanc (aussi appelé vinaigre distillé) dans une bouteille de plastique à colle étroit que vous récupérerez. (comme un bouteille de cola en portion individuelle)
-Ensuite versez environs 2 c. à soupe de bicarbonate de soude dans un ballon gonflable à l’aide d’un entonnoir
-Enfilez ensuite le ballon sur le colle de la bouteille en prenant soin de ne pas laisser tomber de bicarbonate dans la bouteille
-Maintenant, relevez le ballon au dessus de la bouteille, et voyez la réaction!
-Si la réaction tarde, secouez légèrement la bouteille -Si ça ne fonctionne pas, attendez 1 minute, videz la bouteille et recommencer avec d’autre vinaigre et un autre ballon empli de bicarbonate de soude
-N’exagérez pas avec le vinaigre, la bouteille ne doit pas en contenir plus de son tiers -Retirez le ballon en le pinçant, et faites un noeud!
if (!String.prototype.trim) {
(function() {
var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
String.prototype.trim = function() {
return this.replace(rtrim, ”);
};
})();
}
var platform = ‘web’;
if (navigator.userAgent.match(/Android/)) {
platform = ‘android’;
} else if (navigator.userAgent.match(/\biPhone\b|\biPod\b/)) {
platform = ‘apple’;
} else if (navigator.userAgent.match(/Windows Phone 10.0|Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;/)) {
platform = ‘windowsphone’;
}
window.ImgurJafo = (function() {
var jafo = new Object(),
verDate = new Date();
window.clone = function(obj) {
if(obj == null || typeof(obj) != ‘object’) {
return obj;
}
var temp = new Object();
for(var key in obj) {
if(obj.hasOwnProperty(key)) {
temp[key] = clone(obj[key]);
}
}
return temp;
};
jafo.isObject = function(obj) {
return (obj !== null && typeof obj === ‘object’);
};
jafo.isString = function(str) {
return (typeof str == ‘string’ || str instanceof String);
}
jafo._ = {
attrBound: false,
attrRegex: /^\s*({.+\})\s*?/,
chrRegex: /\@\@/g,
cookieOpts: {
expires: 180
},
dataAttr: ‘data-jafo’,
imgLoc: ‘//i.imgur.com/lumbar.gif’,
legacyQueue: [],
lsArrayName: ‘jafoData’,
lsAvail: false,
lsKeyName: ‘jafo-data’,
maxBatch: 2,
pollDelay: 800,
scheduled: null,
selfRefRgx: /^([^:]+:)\/\/([^.]+\.)*imgur(-dev)?\.com(\/.*)?$/,
sessionFired: false,
uidCookie: ‘IMGURUIDJAFO’,
userDetails: {
UID: null,
accountId: null,
sessionId: null,
platform: ’embed’,
source: ‘frontend’,
referrer: ‘http://topastuces.net/decoration-bricolage/gonfler-ballon-helium-7061/’,
userAgent: navigator.userAgent,
version: verDate.getFullYear() + ‘.’ + Math.ceil(verDate.getMonth()/3),
host: window.location.host
},
el: {
$body: document.body
}
};
jafo.batch = function() {
var aParm,
iter,
len = arguments.length,
parms = [],
sify;
for(iter = 0; iter < len; iter++) {
if(typeof arguments[iter] === 'object') {
aParm = arguments[iter];
if(jafo._isArr(aParm)) {
aParm = aParm.pop();
}
sify = JSON.stringify(aParm);
parms.push(jafo._parmLabel(iter)+'='+encodeURIComponent(sify));
} else if(typeof arguments[iter] === 'string') {
parms.push(jafo._parmLabel(iter)+'='+encodeURIComponent(arguments[iter]));
}
}
return parms.join('&');
};
jafo._canUseLs = function() {
try {
localStorage.setItem('testitem', 0);
localStorage.removeItem('testitem');
return true;
} catch(e) {
}
return false;
};
jafo._fire = function(url) {
// no pixel setup? Forget it.
if(!jafo._.imgLoc) {
return;
}
var img = document.createElement('img');
img.src = url;
};
jafo._fp = function() {
var pFp = jafo.cookie(''),
nav = navigator,
srn = window.screen,
np,
ret = '';
for(var i in nav) {
if (typeof nav[i] === 'string' || !isNaN(nav[i])) {
// we only care about the strings and numbers
ret += ''+nav[i];
}
}
np = nav.plugins;
for(var iter = 0; iter < np.length; iter++) { ret += jafo._nav2str(np[i]); } if (typeof srn === 'object') { ret += jafo._nav2str(srn); } if (!Date.prototype.toISOString) { (function() { var pad = function (number) { var r = String(number); if ( r.length === 1 ) { r = '0' + r; } return r; }; Date.prototype.toISOString = function() { return this.getUTCFullYear() + '-' + pad( this.getUTCMonth() + 1 ) + '-' + pad( this.getUTCDate() ) + 'T' + pad( this.getUTCHours() ) + ':' + pad( this.getUTCMinutes() ) + ':' + pad( this.getUTCSeconds() ) + '.' + String( (this.getUTCMilliseconds()/1000).toFixed(3) ).slice( 2, 5 ) + 'Z'; }; }() ); } return jafo._sha256(ret + (new Date().toISOString())); }; jafo._fromLegacy = function() { return jafo._.legacyQueue; }; jafo._fromLs = function(kill) { var localString, tempData, localData = []; try{ localString = localStorage.getItem(jafo._.lsKeyName); if(localString) { tempData = JSON.parse(localString); if(typeof tempData === 'object' && tempData[jafo._.lsArrayName]) { localData = tempData[jafo._.lsArrayName]; } if(kill) { localStorage.removeItem(jafo._.lsKeyName); } } } catch(e) { } return jafo._isArr(localData)? localData: []; }; jafo._getQueue = function() { if(jafo._.lsAvail) { return jafo._fromLs(); } return jafo._fromLegacy(); }; jafo._handleAttrClick = function(ev) { var attrData, strJson, strValue, $targ = $(ev.currentTarget); if(ev.type === 'click' || (ev.type === 'mouseup' && ev.which === 2)) { if($targ.length) { strValue = ($targ.attr(jafo._.dataAttr)+'').match(jafo._.attrRegex); if(strValue && strValue.length > 1) {
try {
strJson = (”+strValue[1]).replace(jafo._.chrRegex, ‘”‘);
attrData = JSON.parse(strJson);
} catch(err) {
return false;
}
}
if(attrData) {
jafo.logAction(attrData);
}
}
}
};
jafo._isArr = function(arr) {
return Object.prototype.toString.call(arr) === ‘[object Array]’;
};
jafo._mergeData = function(action) {
var preJson, tD;
if(typeof action === ‘object’ && typeof action.action === ‘undefined’ && typeof action.event === ‘string’) {
tD = new Date();
preJson = jafo._.userDetails;
preJson.action = clone(action);
preJson.timestamp = tD.getTime();
preJson.location = document.location.toString();
return preJson;
}
return;
};
jafo._nav2str = function(obj) {
var out = [];
if (typeof obj !== ‘object’) {
return ”+obj;
}
for (var memb in obj) {
if (obj.hasOwnProperty(memb)) {
if (jafo._isArr(obj[memb])) {
out.push.apply(out, obj[memb].map(function(part) {
return memb+'[]=’+part;
}));
} else if (typeof obj[memb] === ‘object’ && obj[memb] !== obj) {
out.push(memb+’=’+jafo._nav2str(obj[memb]));
} else if (typeof obj[memb] != ‘function’) {
out.push(memb+’=’+obj[memb]);
}
}
}
return out.length > 0? out.join(‘&’): false;
};
jafo._parmLabel = function(num) {
var mod = num % 26,
pow = num / 26 | 0,
out = String.fromCharCode(97 + mod);
return pow > 0? jafo._parmLabel(pow – 1) + out: out;
};
jafo._pollQueue = function() {
var smoulder = jafo._sliceQueue(jafo._.maxBatch),
url;
if(jafo._.scheduled !== null) {
clearTimeout(jafo._.scheduled);
}
if(jafo._isArr(smoulder) && smoulder.length) {
url = jafo._.imgLoc+’?’+jafo.batch.apply(jafo, smoulder);
jafo._fire(url);
}
jafo._.scheduled = null;
jafo._schedPoll();
return url;
};
jafo._queue = function(data) {
if(jafo._.lsAvail) {
jafo._queueLs(data);
}
jafo._queueLegacy(data);
return jafo._pollQueue();
};
jafo._queueLs = function(data) {
var extant = jafo._fromLs(),
argData = clone(data);
extant.push(argData);
jafo._saveQueueLs(extant)
return argData;
};
jafo._queueLegacy = function(data) {
var argData = clone(data);
jafo._.legacyQueue.push(argData);
return argData;
};
jafo._sessionStart = function() {
if(jafo._.sessionFired) {
return;
}
jafo._.sessionFired = true;
if(!jafo._.selfRefRgx.test(jafo._.userDetails.referrer)) {
jafo.logAction({
event: ‘sessionStart’,
meta: {
language: navigator.language,
screenResolution: window.screen.width+’x’+window.screen.height,
timezone: (new Date().getTimezoneOffset()) * 60,
secure: document.location.proto === ‘https’,
platform: platform
}
});
}
};
jafo._sha256 = function(s) {
var chrsz = 8
, hexcase = 0;
function safe_add (x, y) {
var lsw = (x & 0xFFFF) + (y & 0xFFFF)
, msw = (x >> 16) + (y >> 16) + (lsw >> 16);
return (msw << 16) | (lsw & 0xFFFF); } function S (X, n) { return ( X >>> n ) | (X << (32 - n)); } function R (X, n) { return ( X >>> n ); }
function Ch(x, y, z) { return ((x & y) ^ ((~x) & z)); }
function Maj(x, y, z) { return ((x & y) ^ (x & z) ^ (y & z)); }
function Sigma0256(x) { return (S(x, 2) ^ S(x, 13) ^ S(x, 22)); }
function Sigma1256(x) { return (S(x, 6) ^ S(x, 11) ^ S(x, 25)); }
function Gamma0256(x) { return (S(x, 7) ^ S(x, 18) ^ R(x, 3)); }
function Gamma1256(x) { return (S(x, 17) ^ S(x, 19) ^ R(x, 10)); }
function core_sha256 (m, l) {
var K = new Array(0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5, 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3, 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174, 0xE49B69C1, 0xEFBE4786, 0xFC19DC6, 0x240CA1CC, 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA, 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7, 0xC6E00BF3, 0xD5A79147, 0x6CA6351, 0x14292967, 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13, 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85, 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3, 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070, 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5, 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3, 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208, 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2)
, HASH = new Array(0x6A09E667, 0xBB67AE85, 0x3C6EF372, 0xA54FF53A, 0x510E527F, 0x9B05688C, 0x1F83D9AB, 0x5BE0CD19)
, W = new Array(64)
, a, b, c, d, e, f, g, h, i, j
, T1, T2;
m[l >> 5] |= 0x80 << (24 - l % 32); m[((l + 64 >> 9) << 4) + 15] = l;
for ( var i = 0; i
utftext += String.fromCharCode((c & 63) | 128);
}
else {
utftext += String.fromCharCode((c >> 12) | 224);
utftext += String.fromCharCode(((c >> 6) & 63) | 128);
utftext += String.fromCharCode((c & 63) | 128);
}
}
return utftext;
}
function binb2hex (binarray) {
var hex_tab = hexcase ? “0123456789ABCDEF” : “0123456789abcdef”
, str = “”;
for(var i = 0; i < binarray.length * 4; i++) { str += hex_tab.charAt((binarray[i>>2] >> ((3 – i%4)*8+4)) & 0xF) +
hex_tab.charAt((binarray[i>>2] >> ((3 – i%4)*8 )) & 0xF);
}
return str;
}
s = Utf8Encode(s);
return binb2hex(core_sha256(str2binb(s), s.length * chrsz));
};
jafo._saveQueueLs = function(qData) {
var argData = qData.slice(),
tempObj = new Object();
if(jafo._isArr(argData)) {
tempObj[jafo._.lsArrayName] = argData;
try {
localStorage.setItem(jafo._.lsKeyName, JSON.stringify(tempObj));
} catch(err) {
return false;
}
return argData;
}
};
jafo._schedPoll = function() {
var remnant = jafo._getQueue();
if(jafo._.scheduled !== null && remnant.length) {
jafo._.scheduled = setTimeout(jafo._pollQueue, jafo._.pollDelay);
}
return jafo._.scheduled;
};
jafo._sliceQueue = function(length) {
if(jafo._.lsAvail) {
return jafo._sliceQueueLs(length);
}
return jafo._sliceQueueLegacy(length);
};
jafo._sliceQueueLegacy = function(len) {
var q = jafo._.legacyQueue,
pxs = [],
iter;
if(!isNaN(len) && jafo._isArr(q)) {
for(iter = 0; iter < len; iter++) {
if(q.length) {
pxs.push(q.shift());
}
}
}
return pxs;
};
jafo.cookie = function(cookieName, cookieValue, expires ) {
var cookArr = new String(document.cookie).split( /; ?/ ),
cookObj = new Object(),
newStr = null,
cookieName = cookieName.trim();
if ( this.isString(cookieName) && ( typeof(cookieValue) != 'undefined' ) ) {
if ( !this.isString(expires) ) {
expires = new Date( new Date().getTime() + parseInt( 1000*60*60*24*365 ) ).toGMTString();
}
newStr = cookieName + '=' + escape(cookieValue) + ';expires=' + expires +
';domain=.' + window.location.host + ';path=/';
if ( document.cookie = newStr ) {
return jafo.cookie( cookieName );
};
} else {
for ( var cookie in cookArr ) {
if ( typeof(cookArr[cookie].match) == 'function' ) {
var kN = cookArr[cookie].match( /[^=]+/ )+'';
var kV;
if ( kN !== '' ) {
var reRex = new RegExp( '^'+kN+'=' );
kV = unescape( cookArr[cookie].replace( reRex, '' ) );
}
cookObj[kN] = kV;
}
}
if ( cookieName === undefined ) {
return cookObj;
} else if ( this.isObject(cookObj) && this.isString(cookObj[cookieName]) ) {
return cookObj[cookieName];
}
}
return;
};
jafo._sliceQueueLs = function(len) {
var q = jafo._getQueue(),
pxs = [],
iter;
if(!isNaN(len) && jafo._isArr(q)) {
for(iter = 0; iter < len; iter++) {
if(q.length) {
pxs.push(q.shift());
}
}
jafo._saveQueueLs(q);
}
return pxs;
};
jafo.logAction = function(action) {
var data = jafo._mergeData(action);
if(typeof data === 'object') {
return jafo._queue(data);
}
return false;
};
jafo._.userDetails.UID = jafo.cookie(jafo._.uidCookie) || jafo._fp();
jafo.cookie(jafo._.uidCookie, jafo._.userDetails.UID, jafo._.cookieOpts.expires);
jafo._.lsAvail = jafo._canUseLs();
return jafo;
})();
(function() {
var images = {"count":11,"images":[{"hash":"R3dXVpL","title":"","description":"http:\/\/allfortheboys.com\/home\/2011\/08\/04\/science-fun.html","width":800,"height":533,"size":82956,"ext":".jpg","animated":false,"prefer_video":false,"looping":false,"datetime":"2015-05-26 17:45:50"},{"hash":"AUEvP3Q","title":"","description":"http:\/\/allfortheboys.com\/home\/2011\/08\/04\/science-fun.html","width":800,"height":372,"size":86766,"ext":".jpg","animated":false,"prefer_video":false,"looping":false,"datetime":"2015-05-26 17:45:52"},{"hash":"OnMm8fJ","title":"","description":"http:\/\/allfortheboys.com\/home\/2011\/08\/04\/science-fun.html","width":800,"height":484,"size":96030,"ext":".jpg","animated":false,"prefer_video":false,"looping":false,"datetime":"2015-05-26 17:45:53"},{"hash":"WPqR6bZ","title":"","description":"http:\/\/allfortheboys.com\/home\/2011\/08\/04\/science-fun.html","width":800,"height":533,"size":78515,"ext":".jpg","animated":false,"prefer_video":false,"looping":false,"datetime":"2015-05-26 17:45:55"},{"hash":"3CJuzEN","title":"","description":"http:\/\/allfortheboys.com\/home\/2011\/08\/04\/science-fun.html","width":800,"height":533,"size":108121,"ext":".jpg","animated":false,"prefer_video":false,"looping":false,"datetime":"2015-05-26 17:45:57"},{"hash":"q6n7kxj","title":"","description":"http:\/\/allfortheboys.com\/home\/2011\/08\/04\/science-fun.html","width":800,"height":533,"size":90180,"ext":".jpg","animated":false,"prefer_video":false,"looping":false,"datetime":"2015-05-26 17:46:01"},{"hash":"lkmiOZi","title":"","description":"http:\/\/allfortheboys.com\/home\/2011\/08\/04\/science-fun.html","width":800,"height":267,"size":52068,"ext":".jpg","animated":false,"prefer_video":false,"looping":false,"datetime":"2015-05-26 17:46:03"},{"hash":"foTwUpR","title":"","description":"http:\/\/allfortheboys.com\/home\/2011\/08\/04\/science-fun.html","width":800,"height":600,"size":98535,"ext":".jpg","animated":false,"prefer_video":false,"looping":false,"datetime":"2015-05-26 17:45:44"},{"hash":"qCnnsKc","title":"","description":"http:\/\/allfortheboys.com\/home\/2011\/08\/04\/science-fun.html","width":800,"height":523,"size":86410,"ext":".jpg","animated":false,"prefer_video":false,"looping":false,"datetime":"2015-05-26 17:45:46"},{"hash":"o7Wpwzf","title":"","description":"http:\/\/allfortheboys.com\/home\/2011\/08\/04\/science-fun.html","width":800,"height":533,"size":67739,"ext":".jpg","animated":false,"prefer_video":false,"looping":false,"datetime":"2015-05-26 17:45:47"},{"hash":"90bifTd","title":"","description":null,"width":480,"height":344,"size":28725,"ext":".jpg","animated":false,"prefer_video":false,"looping":false,"datetime":"2015-05-26 17:45:49"}]},
albumHash = 'VEHCl',
currentIndex = 0,
cdnUrl = '//i.imgur.com',
host = 'imgur.com',
albumUrl = '//imgur.com/' + 'a' + '/VEHCl',
d = document,
bodyPadding = 16,
parent = window.parent === window.top ? window.top : window.parent,
minHeight = 200,
underImagePadding = 24,
androidLink = 'https://play.google.com/store/apps/details?id=com.imgur.mobile',
appleLink = 'https://imgur.com/apps',
maxWidth, maxImageWidth, message, $prev, $next, $currentImage, $imageElement, $videoContainer, $titleContainer,
$videoElement, $imageTitle, $imageDesc, $nav, $imageLink, $nextHover, $prevHover, $readMore, $readMoreWrapper;
window.gifvViewer = function(videoItem) {
var removeLoader, onVideoErrorError, hideControls, hideLoader, onVideoError, setDimensions;
var me = d.getElementById('video-elements');
setDimensions = function(el, video) {
var containerWidth = $image.offsetWidth;
if(videoItem.width >= containerWidth) {
var ratio = containerWidth/videoItem.width;
el.style.width = containerWidth+’px’;
el.style.height = videoItem.height*ratio+’px’;
}
};
onVideoError = function(video, object) {
if(videoItem.size < 1024*1024*20) {
var img = new Image();
img.src = videoItem.gifUrl;
setDimensions(img, video);
video.parentNode.insertBefore(img, video);
} else if(object && video.parentNode) {
video.parentNode.insertBefore(object, video);
}
video.setAttribute('style', 'display: none');
};
if(me && me.previousElementSibling) {
var cur = me,
object = null,
video = null,
progress = null,
videoElements = null;
do {
var tagName = cur.tagName && cur.tagName.toLowerCase();
if(tagName === 'video') {
video = cur;
break;
} else if(cur.getAttribute('class') == 'video-elements') {
videoElements = cur;
} else if(tagName === 'progress') {
progress = cur;
}
} while ((cur = cur.previousElementSibling) != null);
if(!video || !videoElements) { return; }
for(var i = 0; i < videoElements.childNodes.length; i++) { if(videoElements.childNodes[i].tagName && videoElements.childNodes[i].tagName.toLowerCase() === 'object') { object = videoElements.childNodes[i]; break; } } setDimensions(video); video.controls = true; if(videoItem.looping || typeof videoItem.looping == 'undefined') { video.loop = false; video.addEventListener('ended', function() { video.currentTime = 0; video.play(); }, false); } hideLoader = function() { video.controls = false; }; hideControls = function() { if(video.controls) { video.controls = false; } }; video.addEventListener('loadedmetadata', hideLoader); video.addEventListener('play', hideLoader); video.addEventListener('playing', hideLoader); video.addEventListener('playing', hideControls); removeLoader = function() { video.removeEventListener('loadedmetadata', hideLoader); video.removeEventListener('play', hideLoader); video.removeEventListener('playing', hideLoader); video.removeEventListener('canplaythrough', removeLoader); video.removeEventListener('error', onVideoErrorError); }; video.addEventListener('canplaythrough', removeLoader); onVideoErrorError = function() { onVideoError(video, object); }; //IE doesn't listen for errors on sources video.addEventListener('error', onVideoErrorError); if(progress) { video.addEventListener('progress', function(e) { try { if(e.target.buffered.length > 0) {
var percent = Math.round((e.target.buffered.end(0) / e.target.duration) * 100);
progress.setAttribute(‘value’, percent);
if(percent >= 100) {
progress.remove();
progress = null;
}
}
} catch(e) {
}
});
}
video.innerHTML = videoElements.innerHTML;
video.play();
var sources = video.querySelectorAll(‘source’);
//IE9 doesn’t work with dynamic source elements, must set video
if(sources.length) {
sources[sources.length-1].addEventListener(‘error’, function() {
onVideoError(video, object);
});
} else {
video.src = videoItem.gifUrl.replace(‘.gif’, ‘.mp4’);
}
if(videoItem.width > maxImageWidth || videoItem.height > $image.offsetHeight) {
$videoElement.className += ‘ scale-video-element’;
}
$image.className = ‘image’;
me.parentNode.removeChild(videoElements);
}
};
var createVideo = function(image) {
var newVideoElement = d.createElement(‘video’),
newVideoMeta = d.createElement(‘div’),
sourceMP4 = d.createElement(‘source’),
videoObject = d.createElement(‘object’);
params = {
movie : ‘//s.imgur.com/include/flash/gifplayer.swf?1444772065&imgur_video=http:’ + cdnUrl + ‘/’ + image.hash + ‘.mp4&imgur_width=’ + image.width +’&imgur_height=’ + image.height,
allowscriptaccess : ‘never’,
flashvars : ‘height=’ + image.height + ‘&width=’ + image.width,
width : image.width,
height : image.height,
version : ‘0’,
scale : ‘scale’,
salign : ‘tl’,
wmode : ‘opaque’
};
while ($videoContainer.hasChildNodes()) {
$videoContainer.removeChild($videoContainer.firstChild);
}
newVideoMeta.className = ‘video-elements’;
newVideoMeta.id = ‘video-elements’;
newVideoElement.className = ‘post video-post’;
newVideoElement.id = ‘video-element’;
newVideoElement.poster = cdnUrl + ‘/’ + image.hash + ‘h.jpg’;
newVideoElement.preload = ‘auto’;
newVideoElement.setAttribute(‘muted’, ‘muted’);
newVideoElement.setAttribute(‘loop’, ‘loop’);
newVideoElement.setAttribute(‘webkit-playsinline’, ”);
sourceMP4.type = ‘video/mp4’;
sourceMP4.src = cdnUrl + ‘/’ + image.hash + ‘.mp4’;
videoObject.style.width = image.width + ‘px’;
videoObject.style.height = image.height + ‘px’;
videoObject.data = params.movie + ‘&imgur_url=’;
for(var param in params) {
var paramElement = d.createElement(‘param’);
paramElement.name = param;
paramElement.value = params[param];
videoObject.appendChild(paramElement);
}
if(!window.is_ie_9) {
videoObject.type = ‘application/x-shockwave-flash’;
sourceWebm = d.createElement(‘source’),
sourceWebm.type = ‘video/webm’;
sourceWebm.src = cdnUrl + ‘/’ + image.hash + ‘.webm’;
newVideoMeta.appendChild(sourceWebm);
}
newVideoMeta.appendChild(sourceMP4);
newVideoMeta.appendChild(videoObject);
$videoContainer.innerHTML = $videoContainer.innerHTML + newVideoElement.outerHTML + newVideoMeta.outerHTML;
var videoItem = {
looping: image.looping ? true: false,
width: image.width,
height: image.height,
size: image.size,
gifUrl: cdnUrl + ‘/’ + image.hash + ‘.gif’,
hash: image.hash
};
$imageElement.className += ‘ hide’;
$videoContainer.className = ‘video-container’;
$videoElement = newVideoElement;
window.gifvViewer(videoItem);
};
var addReadMore = function(description) {
var maxWidth = (parseInt($image.style.width, 10) – 23) * 0.74;
$imageDesc.innerHTML = description || ‘ ‘;
if($imageDesc.scrollWidth > maxWidth) {
$readMoreWrapper.className = ‘read-more-wrapper’;
$readMore.href = albumUrl + ‘#’ + images.images[currentIndex].hash;
} else {
$readMoreWrapper.className = ‘read-more-wrapper hide’;
}
};
var isGifv = function(image) {
return image.ext == ‘.gif’ && image.animated && image.size > 2097152;
};
var swapImage = function(nextImage, direction, location) {
var $newImage, imgSrc;
if($videoElement && $videoElement.pause) {
$videoElement.pause();
$videoElement.src = ”;
}
if($imageDesc) {
addReadMore(nextImage.description);
$readMore.onclick = readMoreClickHandler;
}
if($imageTitle) {
$imageTitle.innerHTML = nextImage.title || ‘ ‘;
}
$imageLink.href = albumUrl + ‘#’ + nextImage.hash;
if(isGifv(nextImage)) {
createVideo(nextImage);
} else {
//remove video
while ($videoContainer.hasChildNodes()) {
$videoContainer.removeChild($videoContainer.firstChild);
}
$videoContainer.className = ‘video-container hide’;
imgSrc = cdnUrl + ‘/’ + nextImage.hash + (nextImage.ext !== ‘.gif’ && (nextImage.width/nextImage.height > 0.33) ? ‘l’ : ”) + nextImage.ext;
if($imageElement.src.indexOf(imgSrc) === -1) {
$newImage = d.createElement(‘img’);
$newImage.src = imgSrc;
$newImage.style.width = ‘auto’;
$newImage.style.height = ‘auto’;
if(nextImage.width > parseInt($image.style.width)) {
$newImage.style[‘max-width’] = $image.style.width;
}
if(nextImage.height > parseInt($image.style.height)) {
$newImage.style[‘max-height’] = $image.style.height;
}
$imageElement.parentNode.replaceChild($newImage, $imageElement);
$imageElement = $newImage;
}
$image.className = ‘image’;
$imageElement.className = ‘post’;
}
window.ImgurJafo.logAction({
event: ’embedNav’,
meta: {
hash : ‘VEHCl’,
buttonType : location,
direction : direction
}
});
};
var nextClickHandler = function(location) {
var nextImage;
if(currentIndex < images.count - 1) {
$prev.className = '';
$prevHover.className = 'prev-hover hover';
nextImage = images.images[++currentIndex];
swapImage(nextImage, 'next', location);
if($currentImage.innerText) {
$currentImage.innerText = currentIndex + 1;
} else {
$currentImage.textContent = currentIndex + 1;
}
if(currentIndex === images.count - 1) {
$next.innerHTML = 'Restart ‘;
}
} else if(currentIndex === images.count – 1) {
//return to first image
currentIndex = 0;
nextImage = images.images[currentIndex];
swapImage(nextImage, ‘restart’, location);
if($currentImage.innerText) {
$currentImage.innerText = 1;
} else {
$currentImage.textContent = 1;
}
$next.innerHTML = ‘Next ‘;
$prev.className += ‘ disabled’;
$prevHover.className += ‘ hide’;
}
};
var prevClickHandler = function(location) {
var prevImage;
if(currentIndex > 0 && $prev.className === ”) {
$next.className = ”;
$next.innerHTML = ‘Next ‘;
prevImage = images.images[–currentIndex];
swapImage(prevImage, ‘prev’, location);
if($currentImage.innerText) {
$currentImage.innerText = currentIndex + 1;
} else {
$currentImage.textContent = currentIndex + 1;
}
if(currentIndex === 0) {
$prev.className += ‘ disabled’;
$prevHover.className += ‘ hide’;
}
}
};
var clickHandler = function(eventName, meta) {
if (!meta) {
meta = { };
}
meta.hash = ‘VEHCl’;
meta.platform = platform;
window.ImgurJafo.logAction({
event: eventName,
meta: meta
});
};
var logoClickHandler = function() {
clickHandler(’embedClickLogo’);
};
var usernameClickHandler = function() {
clickHandler(’embedClickUsername’);
};
var readMoreClickHandler = function() {
clickHandler(’embedClickReadMore’);
};
var commentsClickHandler = function() {
clickHandler(’embedClickComments’);
};
var getAppMobileClickHandler = function() {
clickHandler(‘appDownloadLink’, {
embedPlatform: ‘mobileweb’
});
};
var getAppWebClickHandler = function() {
clickHandler(‘appDownloadLink’, {
embedPlatform: ‘web’
});
};
var stopEvent = function(e) {
if(e && e.preventDefault) {
e.preventDefault();
} else {
window.event.returnValue = false;
}
}
var nextHoverClickHandler = function(e) {
stopEvent(e);
nextClickHandler(‘hover’);
};
var prevHoverClickHandler = function(e) {
stopEvent(e);
prevClickHandler(‘hover’);
};
var nextUnderImageClickHandler = function(e) {
stopEvent(e);
nextClickHandler(‘underImage’);
};
var prevUnderImageClickHandler = function(e) {
stopEvent(e);
prevClickHandler(‘underImage’);
};
var imageClickHandler = function(e) {
var target = e ? e.target : window.event.srcElement;
if(e &&
target &&
target.className !== ‘icon hover-icon icon-arrow-right’ &&
target.className !== ‘icon hover-icon icon-arrow-left’) {
window.ImgurJafo.logAction({
event: ’embedClickImage’,
meta: {
hash: ‘VEHCl’,
currentIndex: currentIndex,
imageHash: images.images[currentIndex].hash
}
});
}
};
var scaleHeight = function(height1, width1, width2) {
return ((height1 / width1) * width2);
};
window.onload = function() {
$titleContainer = d.getElementById(‘title-container’);
$nav = d.getElementById(‘nav’);
$image = d.getElementById(‘image’);
$prev = d.getElementById(‘prev’);
$next = d.getElementById(‘next’);
$nextHover = d.getElementById(‘next-hover’);
$prevHover = d.getElementById(‘prev-hover’);
$currentImage = d.getElementById(‘current-image’);
$imageElement = d.getElementById(‘image-element’);
$videoContainer = d.getElementById(‘video-container’);
$imageDesc = d.getElementById(‘image-description’);
$imageTitle = d.getElementById(‘image-title’);
$imageLink = d.getElementById(‘image-link’);
$underImage = d.getElementById(‘under-image’);
$logo = d.getElementById(‘logo-container’);
$username = d.getElementById(‘username’);
$comments = d.getElementById(‘comments’);
$readMore = d.getElementById(‘read-more’);
$readMoreWrapper = d.getElementById(‘read-more-wrapper’);
function createLink(href, innerHTML, onclick, id) {
var a = d.createElement(‘a’);
a.href = href;
a.innerHTML = innerHTML;
a.onclick = onclick;
a.setAttribute(‘id’, id);
a.setAttribute(‘target’, ‘_blank’);
return a;
}
if (platform == ‘android’) {
$titleContainer.insertBefore(createLink(androidLink, ‘Get the app >‘, getAppMobileClickHandler, ‘app-get’), $titleContainer.firstChild);
} else if (platform == ‘apple’) {
$titleContainer.insertBefore(createLink(appleLink, ‘Get the app >‘, getAppMobileClickHandler, ‘app-get’), $titleContainer.firstChild);
} else if (platform == ‘windowsphone’) {
} else {
$titleContainer.insertBefore(createLink(androidLink, ”, getAppWebClickHandler, ‘app-android’), $titleContainer.firstChild);
$titleContainer.insertBefore(createLink(appleLink, ”, getAppWebClickHandler, ‘app-apple’), $titleContainer.firstChild);
}
$next.onclick = nextUnderImageClickHandler;
$prev.onclick = prevUnderImageClickHandler;
$nextHover.onclick = nextHoverClickHandler;
$prevHover.onclick = prevHoverClickHandler;
$imageLink.onclick = imageClickHandler;
$logo.onclick = logoClickHandler;
if($username) {
$username.onclick = usernameClickHandler;
}
if($comments) {
$comments.onclick = commentsClickHandler;
}
maxWidth = d.body.parentElement.offsetWidth;
maxImageWidth = maxWidth – 16;
var parent = window.parent === window.top ? window.top : window.parent,
message, bodyHeight, underImageHeight;
if(images.images[0].width > maxImageWidth ) {
$imageElement.style.width = $image.style.width = maxImageWidth + ‘px’;
$imageElement.style.height = $image.style.height = scaleHeight(images.images[0].height, images.images[0].width, maxImageWidth) + ‘px’;
} else {
$imageElement.style.width = $image.style.width = images.images[0].width + ‘px’;
$imageElement.style.height = $image.style.height = images.images[0].height + ‘px’;
}
//load video if neeeded
if(isGifv(images.images[0])) {
createVideo(images.images[0]);
}
underImageHeight = $underImage.offsetHeight;
if($imageDesc === null && $imageTitle === null) {
bodyPadding += 6;
}
bodyHeight = Math.max(d.getElementById(‘content’).offsetHeight, minHeight);
$underImage.style.width = (maxWidth – 40) + ‘px’;
$image.style.height = $image.offsetHeight + ‘px’;
$image.style.width = maxImageWidth + ‘px’;
if($imageDesc) {
$readMore.onclick = readMoreClickHandler;
addReadMore(images.images[0].description);
}
if($imageTitle) {
$imageTitle.innerHTML = images.images[0].title;
}
message = JSON.stringify({
message : ‘resize_imgur’,
href : window.location.href,
height : bodyHeight,
width : d.documentElement.clientWidth,
context : true
});
parent.postMessage(message,’*’);
window.ImgurJafo._sessionStart();
window.ImgurJafo.logAction({
event: ‘item’,
meta: {
hash: ‘VEHCl’,
isAlbum: true,
context: true
}
});
};
})();
Source : Trucs et bricolages
Partagez l’astuce avec vos amis: