Я думаю, що деякі люди тут насправді не зосередилися на вашому конкретному питанні. Схоже, проблема у вас полягає у введенні випадкового числа на сторінку та підключенні гравця до нього. Для цього існує ряд способів. Найпростіший - це невелика зміна вашого існуючого коду, як цей, щоб 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({