Sanırım buradaki bazı insanlar sizin özel sorunuza gerçekten odaklanmadı. Görünüşe göre sorun, sayfaya rastgele sayıyı koymak ve oynatıcıyı ona bağlamak. Bunu yapmanın birkaç yolu var. En basit olanı, sonucu sayfaya document.write () yapmak gibi mevcut kodunuzda küçük bir değişiklik yapmaktır. Normalde document.write () 'ı önermem, ancak kodunuz zaten satır içi olduğundan ve zaten yapmaya çalıştığınız şey div'i satır içine koymak olduğu için, bunu yapmanın en basit yolu budur. Rastgele sayının olduğu noktada, bunu ve div'i sayfaya koymak için sadece bunu kullanın:
var randomId = "x" + randomString(8);
document.write('<div id="' + randomId + '">This text will be replaced</div>');
ve sonra, jwplayer kurulum kodunda buna şu şekilde başvurursunuz:
jwplayer(randomId).setup({
Ve tüm kod bloğu şöyle görünecektir:
<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>
Bunu yapmanın başka bir yolu
Buraya, yalnızca benzersiz bir div kimliği oluşturmak için gerçekten rastgele bir sayı üretmenin çok fazla olduğunu ekleyebilirim. Rastgele bir sayıya ihtiyacınız yok. Sayfada başka türlü bulunmayacak bir kimliğe ihtiyacınız var. YUI gibi çerçeveler böyle bir işleve sahiptir ve tek yaptıkları, işlev her çağrıldığında artan global bir değişkene sahip olmak ve ardından bunu benzersiz bir temel dizeyle birleştirmektir. Şunun gibi görünebilir:
var generateID = (function() {
var globalIdCounter = 0;
return function(baseStr) {
return(baseStr + globalIdCounter++);
}
})();
Ve sonra pratik kullanımda şöyle bir şey yaparsınız:
var randomId = generateID("myMovieContainer");
document.write('<div id="' + randomId + '">This text will be replaced</div>');
jwplayer(randomId).setup({