Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么这个脚本获胜';不行?_Javascript_Jquery_Iframe - Fatal编程技术网

Javascript 为什么这个脚本获胜';不行?

Javascript 为什么这个脚本获胜';不行?,javascript,jquery,iframe,Javascript,Jquery,Iframe,我需要的是一个脚本如下所示 每次新页面打开时,iframe必须从50个链接中选择一个,以尽可能随机显示。 现在我做了一些研究,我制作了以下脚本。 它在JS(dot)DO上工作,但在jsbin上不起作用,当我尝试Chrome时,它也不起作用。所以我需要一点帮助,我希望有人能帮我 <iframe id="frame"></iframe> <script> (function() { var e

我需要的是一个脚本如下所示

每次新页面打开时,
iframe
必须从50个链接中选择一个,以尽可能随机显示。 现在我做了一些研究,我制作了以下脚本。 它在JS(dot)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>

(功能(){
var e=document.getElementById('frame'),
f=函数(el,url){
el.src=url;
},
URL=[
“链接1”,
//所有链接1/50
'链接50'],
i=0,
l=URL.length;
f(e,url[Math.round(Math.random()*50)];
})();

(很抱歉英语不好,它不是我的主要语言。首先,由于浏览器安全限制,您不能在
中打开任何链接。您可以在上阅读更多内容

现在我们来谈谈代码本身

<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>
您可以在上查看工作示例(只需按左上角的Run按钮)。您需要稍微修改它,将内容加载到
(如果您有本地URL)。我希望这将对您有所帮助。祝您好运

编辑

工作示例。我有一个
1.html
文件,与主文件位于同一目录下。另外请注意
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 e=document.getElementById('iframeID'),
f=函数(el,url){
el.src=url;
},
URL=['1.html'],
urlsLength=url.length;
window.onload=f(e,url[Math.floor(Math.random()*urlsLength)];

检查控制台是否有错误我会建议使用变量
l
并将
Math.round
替换为
Math.floor
f(e,URL[Math.floor(Math.random()*l)];
@Xufox
URL[Math.floor(Math.random()*(l-1))
更正确,因为索引50不正确exist@R3tep编号
Math.random()
永远达不到
1
,但始终低于它。当你将它乘以
l
时,该数字将始终小于
l
,如果你将其放在地板上,它仍然小于
l
。我尝试了更改,但结果仍然相同。我不明白为什么一个在线脚本编辑器会正确运行它另一个不会正常工作,我现在明白了,这要好得多,但我仍然不明白当我把一个链接放在一个iframe中时,它会正常工作,当我用脚本添加一个链接时,它不会正常工作,这是我最不需要的。对于div,它可以正常工作,但只有iframe不能正常工作now@nederlandb0y我认为有几件事可能是错的:1.你没有换旅馆erHTML到src.2.有一个错误的id。3.在javascript.Set“on document ready”触发器之后加载DOM来测试它。4.您使用了错误的html文件路径。我仍然不明白我在尝试,但是@nederlandb0y您能看看编辑部分吗?对我来说很有用。
<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>