快速javascript问题...
我不会满足于你的需要(我只想说IE),但我需要以下HTML:
href="includes/jwplayer/player.swf?3&file=nicki.mp4"
通过javascript生成一个随机数,其中'3'在上面的示例中。所以喜欢:
href="includes/jwplayer/player.swf?[RANDOM NUMBER CODE HERE]&file=nicki.mp4"
我知道js代码是:
Math.floor(Math.random() * 1000)
但是我怎么能用Html来适应呢?
一些php(或类似的)是唯一的答案吗?
一个。
答案 0 :(得分:3)
如果“将其与Html相符”意味着“将随机数添加到每个看起来像这样的链接”,那么这样的事情会做到:< / p>
$("a[href^=includes/jwplayer/player.swf]").attr("href", function (i, s) {
return s.replace( /\?\d*&?/, "?" + Math.floor(Math.random() * 1000) + "&" );
})
如果在您的情况下不是<a>
元素带有href
,请相应地更改选择器。
正则表达式说:
\? # a question mark
\d* # any number of digits (to replace what's already there)
&? # an optional ampersand
答案 1 :(得分:1)
您可以通过客户端脚本进行设置,但如果用户关闭了JavaScript,则会中断。最好从服务器端设置它,在你的情况下听起来像PHP。
答案 2 :(得分:0)
使用原生javascript,您可以放入“非随机”链接,并使用JavaScript原生的setAttiribute方法将其随机化
var r = Math.floor(Math.random() * 1000);
document.getElementById('an-id-of-the-link').setAttribute('href', 'includes/jwplayer/player.swf?' + r + '&file=nicki.mp4');
请注意,对于较旧版本的浏览器,选择对象会变得更难,因此getElementById是大多数浏览器中安全的少数几种方法之一。