首页 > 解决方案 > 为什么我的 iframe 没有同时加载?

问题描述

我有一个脚本可以用来帮助我完成一些重复性工作,我已经包含了一个我遇到问题的脚本的虚拟对象,我基本上有 2 页。

“主”页面

<html>
<header>
</header>
<body>
<form name="ach" method="POST">
Text : <br><br><textarea rows="15" cols="50" name="ips">
</textarea><br><br>
<input type="submit" name="go"> 
</form>
</html>

<?php

if(!empty($_POST['go']))
{
    $ip = explode(PHP_EOL,trim($_POST['ips']));

    echo("<br><br>");
    for($i=0;$i<count($ip);$i++)
    {
echo("<font id='fefer'>Status</font> :   <iframe src='testo.php?fafa=$ip[$i]' width=150 height=70 id='haha$i'></iframe> </iframe>");    
    }
    echo("<br><br>");
}
?>
</body>

如您所知,它只是一个带有 textarea 的常规表单,用于检索文本并将其划分为行并在 iframe 上调用另一个脚本来处理它

“testo.php”页面

    <?php
    
    
    if(!empty($_GET['fafa']))
    {
    echo($_GET['fafa']);
 //do stuff with the data
    sleep(10);
    echo("hehe");
    }
    ?>

脚本看起来很愚蠢,但我删除了中间的东西只是为了避免任何混淆并保持它干净,无论如何我遇到的问题是,通常我在“主”页面上插入 10 行,这意味着我会当我按下提交时有 10 个 iframe 处理数据,问题是无论我做什么,它总是被执行 6 x 6,无论我在那里放了多少行

我在“testo”页面上插入了 10 秒的延迟,以在脚本中显示该问题,如果我在 main.php 上放 3 行,iframe 会同时执行,因为它小于 6,但如果我放 10 行,前 6 个 iframe 被执行,下一个 iframe 直到前 6 个结束才会开始,如果我放 30 行,前 6 个被执行,然后下 6 个在前 6 个结束时开始,然后是第 3 个 6 个 iframe在第 2 6 批结束之前不会开始...

我希望这是有道理的,我包含了脚本来测试它并更好地可视化我的问题

无论如何,我的问题是,我如何“强制”我的脚本一次执行所有 iframe,我尝试购买更大的 vps,但这并没有改变任何东西,如果它减慢网站速度也没关系,因为这是不是为公众制作的

干杯

标签: javascriptphphtmliframe

解决方案


据我所知,每个 iFrame 都会向服务器发出单独的请求。Chrome 一次连接到单个服务器的限制为 6 个。如果您询问如何实现目标,而不是如何处理症状,您可能会得到更好的解决方案。例如,我很惊讶您需要 10 多个 iFrame。


推荐阅读