| Shinuza |
GM Youtube replacer : TODO : -Virer le remplacement des les quotes -Virer le remplacement dans les signs -Replacer les vidéos à la demande plutot qu'a la volée? -Optimiser regexp -Utiliser le tracking des liens sur pattern plutot que par exclusion Code :
function getPostsLinks(link) { var parent = link.parentNode; var aboveParentType = parent.parentNode.nodeName.toLowerCase(); if(parent.nodeName.toLowerCase() == "p" && aboveParentType == "div" ) return link; } var links = [].slice.apply(document.links).filter(getPostsLinks); links.forEach(function(link) { if(link.href.match(/http:\/\/\w{2,3}\.youtube\.com/)) { var youtubeVideo = document.createElement('embed'); youtubeVideo.setAttribute('type','application/x-shockwave-flash'); youtubeVideo.setAttribute('wmode','transparent'); youtubeVideo.setAttribute('width',425); youtubeVideo.setAttribute('height',355); youtubeVideo.src = link.href.replace("watch?v=","v/" ) link.parentNode.replaceChild(youtubeVideo,link); } });
| Edit : TODO : -Virer le remplacement des les quotes -Virer le remplacement dans les signs -Utiliser le tracking des liens sur pattern plutot que par exclusion -Replacer les vidéos à la demande plutot qu'a la volée? -Optimiser regexp
Code :
var base = document.getElementById('mesdiscussions'); function $x(p, context) { if (!context) context = document; var i, arr = [], xpr = document.evaluate(p, context, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); for (i = 0; item = xpr.snapshotItem(i); i++) arr.push(item); return arr; } function getPostsLinksOnly(link) { var parent = link.parentNode; var aboveParentType = parent.parentNode.nodeName.toLowerCase(); if(parent.nodeName.toLowerCase() == "p" && aboveParentType == "div" ) return link; } var links = $x('/html/body/div[2]/div//table//td[@class="messCase2"]//div[starts-with(@id, "para" )]//a',base) links.filter(getPostsLinksOnly).forEach(function(link) { if(link.href.match(/http:\/\/\w{2,3}\.youtube\.com/)) { var youtubeVideo = document.createElement('embed'); youtubeVideo.setAttribute('type','application/x-shockwave-flash'); youtubeVideo.setAttribute('wmode','transparent'); youtubeVideo.setAttribute('width',425); youtubeVideo.setAttribute('height',355); youtubeVideo.src = link.href.replace("watch?v=","v/" ) link.parentNode.replaceChild(youtubeVideo,link); } });
| Edit : TODO : -Virer le remplacement des les quotes -Virer le remplacement dans les signs -Utiliser le tracking des liens sur pattern plutot que par exclusion -Replacer les vidéos à la demande plutot qu'a la volée? -Optimiser regexp Mouais :/
Code :
var base = document.getElementById('mesdiscussions'); function $x(p, context) { if (!context) context = document; var i, arr = [], xpr = document.evaluate(p, context, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); for (i = 0; item = xpr.snapshotItem(i); i++) arr.push(item); return arr; } function getPostsLinksOnly(link) { var parent = link.parentNode; var aboveParentType = parent.parentNode.nodeName.toLowerCase(); if(parent.nodeName.toLowerCase() == "p" && aboveParentType == "div" ) return link; } var links = $x('/html/body/div[2]/div//table//td[@class="messCase2"]//div[starts-with(@id, "para" )]//a',base) links.filter(getPostsLinksOnly).forEach(function(link) { if(link.href.match(/http:\/\/\w{2,3}\.youtube\.com/)) { var switchButton = document.createElement('strong'); switchButton.style.color='gray'; switchButton.appendChild(document.createTextNode(' [View Video]')); switchButton.addEventListener('click',function() { var youtubeVideo = document.createElement('embed'); youtubeVideo.setAttribute('type','application/x-shockwave-flash'); youtubeVideo.setAttribute('wmode','transparent'); youtubeVideo.setAttribute('width',425); youtubeVideo.setAttribute('height',355); youtubeVideo.src = link.href.replace(/http:\/\/\w{2}\./,"http://www." ).replace("watch?v=","v/" ); link.parentNode.replaceChild(youtubeVideo,link); },true); link.appendChild(switchButton); } });
|
|