Creo que algunas personas aquí no se han centrado realmente en su pregunta en particular. Parece que el problema que tienes es poner el número aleatorio en la página y conectar el reproductor a él. Hay varias formas de hacerlo. La más simple es con un pequeño cambio en su código existente como este para document.write () el resultado en la página. Normalmente no recomendaría document.write (), pero dado que su código ya está en línea y lo que estaba intentando hacer era poner el div en línea, esta es la forma más sencilla de hacerlo. En el punto donde tiene el número aleatorio, simplemente use esto para ponerlo y el div en la página:
var randomId = "x" + randomString(8);
document.write('<div id="' + randomId + '">This text will be replaced</div>');
y luego, se refiere a eso en el código de configuración de jwplayer como este:
jwplayer(randomId).setup({
Y todo el bloque de código se vería así:
<script type='text/javascript' src='jwplayer.js'></script>
<script type='text/javascript'>
function randomString(length) {
var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghiklmnopqrstuvwxyz'.split('');
if (! length) {
length = Math.floor(Math.random() * chars.length);
}
var str = '';
for (var i = 0; i < length; i++) {
str += chars[Math.floor(Math.random() * chars.length)];
}
return str;
}
var randomId = "x" + randomString(8);
document.write('<div id="' + randomId + '">This text will be replaced</div>');
jwplayer(randomId).setup({
'flashplayer': 'player.swf',
'file': 'http://www.youtube.com/watch?v=4AX0bi9GXXY',
'controlbar': 'bottom',
'width': '470',
'height': '320'
});
</script>
Otra forma de hacerlo
Podría agregar aquí al final que generar un número verdaderamente aleatorio solo para crear una ID div única es una exageración. No necesitas un número aleatorio. Solo necesita una identificación que de otro modo no existiría en la página. Los marcos como YUI tienen una función de este tipo y todo lo que hacen es tener una variable global que se incrementa cada vez que se llama a la función y luego la combinan con una cadena base única. Puede verse algo como esto:
var generateID = (function() {
var globalIdCounter = 0;
return function(baseStr) {
return(baseStr + globalIdCounter++);
}
})();
Y luego, en el uso práctico, haría algo como esto:
var randomId = generateID("myMovieContainer");
document.write('<div id="' + randomId + '">This text will be replaced</div>');
jwplayer(randomId).setup({