尝试在js中重新加载iframe时出现“无法读取属性”错误

时间:2017-03-01 12:22:59

标签: javascript html iframe


请你能帮我找到我的错误。 我想重新加载一个iFrame的php文件。我用javascript做这个。

HTML code:

<iFrame name="einträge" src="gaestebuch-auslesen.php">

JS代码:

window.setInterval("reloadIFrame();", 1000);

function reloadIFrame() {
 document.frames["einträge"].location.reload();
}

我得到的错误是: “未捕获的TypeError:无法读取未定义的属性'einträge'”
这里是gaestebuch-auslesen.php的代码:

<html>
<head>
<meta charset="utf-8">
<title>G$auml;stebuch</title>
</head>
<body>
<?php
 if (file_exists("gaestebuch.txt") &&
     is_readable("gaestebuch.txt")) {
         $daten = file_get_contents("gaestebuch.txt");
         $daten = explode("\r\n", $daten);
         for ($i = 0; $i < count($daten); $i++) {
             $eintrag = unserialize(base64_decode($daten[$i]));
             if (is_array($eintrag)) {
                 printf("<p><a href=\"mailto:%s\">%s</a> schrieb am/um %s:</p>
                 <h3>%s</h3><p>%s</p><hr noshade=\"noshade\" />",
                 urlencode($eintrag["email"]),
                 htmlspecialchars($eintrag["autor"]),
                 htmlspecialchars($eintrag["datum"]),
                 htmlspecialchars($eintrag["überschrift"]),
                 (htmlspecialchars($eintrag["eintrag"]))
                 );
             }
         }
     }
?>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

这样做的标准方法是:

window.frames["einträge"].location.reload();

答案 1 :(得分:0)

使用meta http-equiv的简单方法:

...
 <head>
  <meta http-equiv="refresh" content="10">
</head> 
...