Uncaught ReferenceError: X n'est pas définie

Ce code est utilisé sur une Extension Chrome.
Quand j'appelle le "showOrHideYT ()", je reçois un "Uncaught ReferenceError: showOrHideYT n'est pas défini | (anonyme) | onclick".

Ce code sera à la recherche pour des liens youtube dans une page, et il va ajouter un bouton (c'est vraiment un div avec un événement) à côté du lien pour afficher l'iframe avec la vidéo intégrée, un peu comme Reddit Amélioration de la Suite. Considérez le code, en soi, incomplète. Je veux juste savoir ce qui me manque quand je l'appelle la "showOrHideYT(frameZES12345)".

si besoin, je peux fournir le manifeste.json.

Grâce

function showOrHideYT(id)
{
var YTvidWidth  = 420;
var YTvidHeight = 315;
frameYT=getElementById(id);
console.log(frameYT.style.visibility);
if (frameYT.style.visibility == "hidden")
{
frameYT.style.width = YTvidWidth+"px"; 
frameYT.style.height = YTvidHeight+"px"; 
frameYT.style.visibility = "visible";
}
if (frameYT.style.visibility == "visible")
{
frameYT.style.width = "0px"; 
frameYT.style.height = "0px"; 
frameYT.style.visibility = "hidden";
}
};
//DOM utility functions
function insertAfter( referenceNode, newNode ) {
if ((typeof(referenceNode) == 'undefined') || (referenceNode == null)) {
console.log(arguments.callee.caller);
} else if ((typeof(referenceNode.parentNode) != 'undefined') && (typeof(referenceNode.nextSibling) != 'undefined')) {
if (referenceNode.parentNode == null) {
console.log(arguments.callee.caller);
} else {
referenceNode.parentNode.insertBefore( newNode, referenceNode.nextSibling );
}
}
};
function createElementWithID(elementType, id, classname) {
obj = document.createElement(elementType);
if (id != null) {
obj.setAttribute('id', id);
}
if ((typeof(classname) != 'undefined') && (classname != '')) {
obj.setAttribute('class', classname);
}
return obj;
};
///////////////////////////////////////
$(document).ready(function() {
var vidWidth    = 420;
var vidHeight   = 315;
var linksSemID  = document.getElementsByTagName("a") ;
for (var i = 0; i < linksSemID.length; i++){
if (/id=$/.test(linksSemID[i].href)) links[i].href += "1";
}
i=0;
var youTubeRegExp = /(?:v=)([\w\-]+)/g;                 
var forEach = Array.prototype.forEach;                  
var linkArray = document.getElementsByTagName('a');     
forEach.call(linkArray, function(link){                 
linkArray.id="zes" + i++;                           
var linkTarget = link.getAttribute('href');         
if (linkTarget!=null)                               
{
if (linkTarget.search(youTubeRegExp) !=-1)      
{
console.log (linkTarget);
idVideo=linkTarget.match(/(?:v=)([\w\-]+)/g);
//idVideo = idVideo.replace("v=", "");      
//add buton
botaoMais = document.createElement('DIV');
botaoMais.setAttribute('class','expando-button collapsed video');
botaoMais.setAttribute('onclick','showOrHideYT(frameZES'+ i +')');
insertAfter(link, botaoMais);
//add iframe
ifrm = document.createElement('IFRAME'); 
ifrm.setAttribute('src', 'http://www.youtube.com/embed/'+ idVideo); 
ifrm.style.width = '0px'; 
ifrm.style.height = '0px'; 
ifrm.style.frameborder='0px';
ifrm.style.visibility = 'hidden';
ifrm.setAttribute('id', 'frameZES' + i);
insertAfter(link, ifrm);
}
}
});  
});

OriginalL'auteur RSilva | 2012-01-17