在iframe内的JavaScript运行会影响主网页?在iframe内的JavaScript运行会

2019-05-12 11:48发布

部分代码:

我下面的代码是直接从我的数据库查询,然后使用inner.HTML =显示一个div里面的数据。 它工作正常,在它原来使用....

但是下面的版本被称为iFrame中,因为它被用来更新页面。

该页面没有错误和JavaScript触发但是最后行不行?

我刚刚意识到,也许因为它加载在隐藏的iframe它正试图设置的iFrame内一个div的innerHTML和那当然是行不通的。

这是发生了什么事? 这是没有意义的,因为我有另外一个脚本,在它以同样的方式结束调用JavaScript和它工作正常。

<?php
    while ($row = mysql_fetch_array($result))
    {
        $p = $p.'<div id="left"><img src="http://www.sharingizcaring.com/bleepV2/images/thumbs/'.$row[image].'" /></div>';
        $p = $p.'<div id="right"><h2>'.$row[artist].' - '.$row['title'].'</h2><br>'.$row['message'].'<br>';
        $p = $p.'<a href="http://www.sharingizcaring.com/bleepV2/'.$row[username].'">'.$row[username].'</a> '.$row[date].'</div>';
        $p = $p.'<div style="clear: both;"></div>';
        $p = $p.'<div id="dotted-line"></div>';
    }


    $p = addslashes($p);
?>

<script>

        alert('posts are firing? ');

        document.getElementById('posts').innerHTML = 'why doth this faileth?';
</script>

Answer 1:

你能行的! 在这里阅读更多信息

您可以影响文档与包含设置和从窗元件得到变量的iframe:

// normally you use...
var whatever = "value";

// use the window object instead, which is shared 
// between the iframe and the parent
window.whatever = "value";

你应该知道的另一件事是,你可以通过父对象来访问主文档

在iframe中可以使用...

parent.someattr;

// or try this
parent.getElementById('some_element');


Answer 2:

我想你想要的是:

parent.getElementById('posts').innerHTML = 'why doth this faileth?';


Answer 3:

在iframe的部分不被认为是同一个文件。



Answer 4:

你必须使用父。



文章来源: Can javascript running inside an iframe affect the main page?