Acho que algumas pessoas aqui não se concentraram realmente em sua pergunta em particular. Parece que o problema que você tem é colocar o número aleatório na página e conectar o jogador a ele. Existem várias maneiras de fazer isso. O mais simples é com uma pequena mudança em seu código existente como esta para document.write () o resultado na página. Eu normalmente não recomendaria document.write (), mas como seu código já está embutido e o que você estava tentando fazer era colocar o div embutido, esta é a maneira mais simples de fazer isso. No ponto em que você tem o número aleatório, basta usá-lo para colocá-lo e o div na página:
var randomId = "x" + randomString(8);
document.write('<div id="' + randomId + '">This text will be replaced</div>');
e então, você se refere a isso no código de configuração do jwplayer como este:
jwplayer(randomId).setup({
E todo o bloco de código ficaria assim:
<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>
Outra maneira de fazer isso
Posso acrescentar aqui no final que gerar um número verdadeiramente aleatório apenas para criar um ID div único é um exagero. Você não precisa de um número aleatório. Você só precisa de um ID que, de outra forma, não existirá na página. Frameworks como o YUI têm essa função e tudo o que fazem é ter uma variável global que é incrementada cada vez que a função é chamada e então combiná-la com uma string de base única. Pode ser parecido com isto:
var generateID = (function() {
var globalIdCounter = 0;
return function(baseStr) {
return(baseStr + globalIdCounter++);
}
})();
E, então, em uso prático, você faria algo assim:
var randomId = generateID("myMovieContainer");
document.write('<div id="' + randomId + '">This text will be replaced</div>');
jwplayer(randomId).setup({