Ich denke, einige Leute hier haben sich nicht wirklich auf Ihre spezielle Frage konzentriert. Es sieht so aus, als ob das Problem darin besteht, die Zufallszahl auf die Seite zu setzen und den Player daran anzuschließen. Dafür gibt es verschiedene Möglichkeiten. Am einfachsten ist es, wenn Sie Ihren vorhandenen Code wie folgt ändern, um das Ergebnis auf der Seite zu dokumentieren. Normalerweise würde ich document.write () nicht empfehlen, aber da Ihr Code bereits inline ist und Sie bereits versucht haben, das div inline zu setzen, ist dies der einfachste Weg, dies zu tun. An dem Punkt, an dem Sie die Zufallszahl haben, verwenden Sie diese einfach, um sie und das Div in die Seite einzufügen:
var randomId = "x" + randomString(8);
document.write('<div id="' + randomId + '">This text will be replaced</div>');
und dann verweisen Sie darauf im jwplayer-Setup-Code wie folgt:
jwplayer(randomId).setup({
Und der ganze Codeblock würde so aussehen:
<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>
Ein anderer Weg, es zu tun
Ich könnte hier am Ende hinzufügen, dass das Generieren einer wirklich zufälligen Zahl, nur um eine eindeutige Div-ID zu erstellen, viel zu viel des Guten ist. Sie brauchen keine Zufallszahl. Sie benötigen lediglich eine ID, die sonst auf der Seite nicht vorhanden ist. Frameworks wie YUI haben eine solche Funktion und alles, was sie tun, ist eine globale Variable, die bei jedem Aufruf der Funktion inkrementiert wird und diese dann mit einer eindeutigen Basiszeichenfolge kombiniert. Es kann ungefähr so aussehen:
var generateID = (function() {
var globalIdCounter = 0;
return function(baseStr) {
return(baseStr + globalIdCounter++);
}
})();
Und dann würden Sie im praktischen Gebrauch so etwas tun:
var randomId = generateID("myMovieContainer");
document.write('<div id="' + randomId + '">This text will be replaced</div>');
jwplayer(randomId).setup({