【问题标题】:Refresh a modified iframe刷新修改后的 iframe
【发布时间】:2015-05-25 14:12:42
【问题描述】:

我有一个小应用程序。模仿 CMS 的功能,更改文本、段落和图像。

将要修改的页面在 iframe 中,我进行了所有修改并保存了这些新的文本和图像,但是当我“单击”提交时没有刷新页面,但我必须手动再次刷新页面查看这些变化。

如果不按 F5 刷新,我不知道该怎么做才能看到这些更改...

这是 iframe:

<iframe  id="probando" src="<?php echo $url; ?>"  name="probando"></iframe>

PhP 代码:

<?php
$directorioInicial = "./";    //Especifica el directorio a leer
$rep = opendir($directorioInicial);    //Abrimos el directorio
echo "<div class='button' id='mostrar'>Mostrar archivos</div>";
echo "<div id='acordeon' class='propiedadesCaja'>";
echo "<ul>";
while ($todosArchivos = readdir($rep)) {  
    if ($todosArchivos != '..' && $todosArchivos != '.' && $todosArchivos != ''     && strpos($todosArchivos, '.html') && !is_dir($todosArchivos)) {
       echo "<li class='listaPaginas' ><a class='listado' href=" .       $todosArchivos . " target='probando'>" . $todosArchivos . "</a></li>";       
//    . $directorioInicial . "/"
    }
}
closedir($rep);     
clearstatcache();    
echo "</ul>";
echo "</div>";
$url = "";
if (isset($_POST['textarea'])) {
    $url = $_POST['textareaPagina'];
    $salida = $_POST['textarea'];
    $archivo = fopen($url, "w+");
    fwrite($archivo, $salida);

    fclose($archivo);
    clearstatcache();
}
  ?>

如何刷新页面?使用 php、JavaScript...?

JQuery 代码:

 $("#probando").contents().find("p,h1,h2,h3,h4,h5,h6,span,ul,li,a").on("click", function (e) {
                            swal({
                                title: "Nuevo texto",
                                text: "Escribe el texto deseado:",
                                type: "input",
                                showCancelButton: true,
                                closeOnConfirm: false,
                                animation: "slide-from-top",
                                inputPlaceholder: "Nuevo texto"},
                            function (inputValue) {
                                if (inputValue === false)
                                    return false;
                                if (inputValue === "") {
                                    swal.showInputError("¡No has escrito nada!");
                                    return false
                                }
                                swal("¡Muy bien!", "Nuevo texto: " + inputValue, "success");
                                $(e.target).text(inputValue);
                                var contenido = $("#probando").contents().find('html').prop('outerHTML');
                                $("#contenido").text(contenido);
                            });


                        });

【问题讨论】:

  • 修改了吗?你的意思是修改了吗?
  • 哈哈是的抱歉修改:S
  • 没关系...出错了。
  • 如果我错了,请纠正我,但我实际上没有看到您将内容放入 iFrame 的任何地方。此外,您不需要刷新,它应该会自行显示。
  • 是的,但我必须第一次刷新如果我不刷新我会看到旧文本。

标签: javascript php jquery html iframe


【解决方案1】:

试试:

document.getElementById('probando').contentWindow.location.reload(true);

当您希望 iFrame 重新加载时调用它。

【讨论】:

  • 我试过了,但没有找到:(
  • 您究竟是什么时候尝试刷新 iFrame?
  • 当我点击提交时
猜你喜欢
  • 2015-07-29
  • 1970-01-01
  • 2010-12-10
  • 1970-01-01
  • 2011-02-27
  • 2015-08-26
  • 1970-01-01
  • 2019-05-13
  • 1970-01-01
相关资源
最近更新 更多