我需要的是一个脚本,如下所示,
页面打开的每个新时间,iframe
必须选择50个链接中的1个,以便随机显示。
现在我做了一些研究,并制作了以下脚本。
它适用于JS(点)DO,但它不能在jsbin上工作,当我尝试Chrome时,它不会工作。所以我需要一些帮助,我希望有人可以帮助我!
<iframe id="frame"></iframe>
<script>
(function() {
var e = document.getElementById('frame'),
f = function( el, url ) {
el.src = url;
},
urls = [
'link1',
// all links 1/50
'link50'],
i = 0,
l = urls.length;
f( e, urls[Math.round(Math.random()*50)] );
})();
</script>
(对不起英语不好,它不是我的主要语言
答案 0 :(得分:0)
好吧,首先,由于浏览器安全限制,您无法在<iframe>
中打开任何链接。您可以在How to show google.com in an iframe?了解更多信息。
现在让我们谈谈代码本身。
<iframe id="frame"></iframe>
<script>
(function() {
var e = document.getElementById('frame'),
f = function( el, url ) {
el.src = url;
},
urls = [
'link1',
// all links 1/50
'link50'],
i = 0,
l = urls.length;
f( e, urls[Math.round(Math.random()*50)] );
})();
</script>
为什么要设置i
变量?您不在代码中使用它,并可以删除它。如果您有Math.random()
,为什么50
为l
多个l
。将它乘以<div id="divID"></div>
<script type="text/javascript">
var e = document.getElementById('divID'),
f = function( el, url ) {
el.innerHTML = url;
},
urls = ['https://www.google.ru/', 'https://www.yandex.com/', 'http://www.bing.com/', 'https://www.yahoo.com/', 'https://duckduckgo.com/'],
urlsLength = urls.length;
f( e, urls[Math.floor( Math.random() * urlsLength )] );
</script>
它更方便。考虑这个例子:
<iframe>
您可以在http://jsfiddle.net/tfno031a/查看工作示例(只需按左上角的“运行”按钮)。您必须稍微修改它以将内容加载到1.html
(如果您有本地URL)。我希望这能帮到您。祝你好运!
修改强>
工作示例。我在主文件的同一目录中有一个Math.floor()
文件。还要注意<iframe id='iframeID'></iframe>
<script type="text/javascript">
var e = document.getElementById('iframeID'),
f = function( el, url ) {
el.src = url;
},
urls = ['1.html'],
urlsLength = urls.length;
window.onload = f( e, urls[Math.floor( Math.random() * urlsLength )] );
</script>
,我一开始就粗心。
var loc = window.location.pathname;
$('#side-menu').find('a').each(function() {
$(this).toggleClass('active', $(this).attr('href') == loc);
});