Misterio ninguno.... creo.
Código Javascript
:
Ver originaldocument.getElementById('iconos').innerHTML="<a href=\"javascript:void(0);\" class=\"pops\" title=\"Descripción...\" onClick=\"javascript:show('"+p+"','"+anchos+"','"+altos+"');\">📷</a>";
Y si le agregas delimitadores?
show(
'"+p+"
',
'"+anchos+"
',
'"+altos+"
');
Si p es "mmmm",
ancho="nnnnn,nnnnnnn,nnn,nnnnnnn,nnn,nnnnnnn,nnn,n nnnn,nnnnnnn,nnn,nnnnnnn,nnn,nnnnnnn,nnn"
alto="yyyyyyy,yyyyy,yyyyy,yyyyyyyyy,yyyy"
El resultado de document.getElementById('iconos').
innerHTML será
....show(mmmm,nnnnn,nnnnnnn,nnn,nnnnnnn,nnn,nnnnnn n,nnn,nnnnn,nnnnnnn,nnn,nnnnnnn,nnn,nnnnnnn,nnn,yy yyyyy,yyyyy,yyyyy,yyyyyyyyy,yyyy)....
es decir una función con
n argumentos de entrada....
con delimitadores seria
....show(
'mmmm
',
'nnnnn,nnnnnnn,nnn,nnnnnnn,nnn,nnnnnnn,nnn,nnnnn,nn nnnnn,nnn,nnnnnnn,nnn,nnnnnnn,nnn
',
'yyyyyyy,yyyyy,yyyyy,yyyyyyyyy,yyyy
')....
Es decir
solo tres argumentos de entrada. No?
Estas escribiento en el
innerHTML luego en el momento que provocas el onclick ya no recuerda que esa parte venia de una variable.... el alert y el typeof de la primera función si saben que estan tratando con el contenido de una variable....
Fijate si el alert que has puesto en show te esta mostrando como ancho el primer grupo de digitos y como alto el segundo de lo que debería ser el ancho....