Я думаю, что некоторые люди здесь не особо сосредоточились на вашем конкретном вопросе. Похоже, проблема в том, что вы помещаете случайное число на страницу и подключаете к нему игрока. Есть несколько способов сделать это. Самый простой - внести небольшое изменение в существующий код, например, в document.write (), результат на странице. Обычно я бы не рекомендовал document.write (), но поскольку ваш код уже встроен, а то, что вы пытались сделать, уже заключалось в том, чтобы поместить div в строку, это самый простой способ сделать это. Когда у вас есть случайное число, вы просто используете его, чтобы поместить его и div на страницу:
var randomId = "x" + randomString(8);
document.write('<div id="' + randomId + '">This text will be replaced</div>');
а затем вы ссылаетесь на это в коде настройки jwplayer следующим образом:
jwplayer(randomId).setup({
И весь блок кода будет выглядеть так:
<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>
Другой способ сделать это
Я мог бы добавить здесь в конце, что создание действительно случайного числа только для создания уникального идентификатора div - это слишком много. Вам не нужно случайное число. Вам просто нужен идентификатор, который иначе не существовал бы на странице. Такие фреймворки, как YUI, имеют такую функцию, и все, что они делают, это глобальная переменная, которая увеличивается каждый раз при вызове функции, а затем комбинирует ее с уникальной базовой строкой. Это может выглядеть примерно так:
var generateID = (function() {
var globalIdCounter = 0;
return function(baseStr) {
return(baseStr + globalIdCounter++);
}
})();
А затем на практике вы сделаете что-то вроде этого:
var randomId = generateID("myMovieContainer");
document.write('<div id="' + randomId + '">This text will be replaced</div>');
jwplayer(randomId).setup({