如何在框架中打开窗口

时间:2015-11-17 14:21:53

标签: javascript html

我现在学习JavaScript,遇到下一个问题: 我有一些框架的页面,我想将一些页面加载到指定的帧之一; 但是下面的代码没有做我想要的。

您能否建议我如何将任何网址加载到指定的框架中?

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8"/>
    <title>Frameset Example</title>
</head>
<script>
    //"use strict";
    function print(str) {
        document.write("<p><pre>" + str + "</pre></p>");
    }

    window.open("http://www.google.com", "topFrame");
</script>
<frameset rows="160,*">
    <frame name="topFrame">
    <frameset cols="50%,50%">
        <frame name="leftFrame">
        <frame name="rightFrame">
    </frameset>
</frameset>
<body>
</body>

3 个答案:

答案 0 :(得分:0)

要在框架内打开页面,请将框架的src属性设置为所需的网址。

<frame src="whateversite.html">

请注意,HTML5中的框架已过时。考虑使用iframe来完成相同的任务,或者jquery的加载函数 iframe:https://www.w3.org/wiki/HTML/Elements/iframe jquery load:http://api.jquery.com/load/

答案 1 :(得分:0)

似乎我发现为什么url没有加载到框架中 1)脚本在帧之前加载,它不知道topFrame 2)我可以从子框架加载,例如像

MainWindow.html:

<!--<!DOCTYPE html>-->  
<html lang=" EN" XMLNS="http://www.w3.org/1999/xhtml">
<head>
    <title>Frameset Example</title>
</head>
<frameset rows="160,*">
    <frame src="frame.html" name="topFrame"/>
    <frameset cols="50%,50%">
        <frame src="frame.html" name="leftFrame"/>
        <frame src="frame.html" name="rightFrame"/>
    </frameset>
</frameset>
<body>
</body>

frame.html:

<!DOCTYPE html>
<html>
<head>
    <title>Frameset Example</title>
    <script>   
        window.open("http://korrespondent.net", "leftFrame");
    </script>
</head>
<body>
</body>
</html>

但我仍有疑问:如何从MainWindow.html运行脚本? 我想把下一个脚本放在MainWindow.html的某个地方:

<script>   
    window.open("http://korrespondent.net", "leftFrame");
</script>

但它不起作用

答案 2 :(得分:0)

我做了更多研究,这里是正确答案:

MainWindow.html:

<!DOCTYPE html>
<html lang=" EN" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title>Frameset Example</title>
    <script type="text/javascript" defer src="LoadFrame.js"></script>
</head>
<frameset rows="160,*">
    <frame src="frame.html" name="topFrame" />
    <frameset cols="50%,50%">
        <frame src="frame.html" name="leftFrame" />
        <frame src="frame.html" name="rightFrame" />
    </frameset>
</frameset>
<body>
</body>
</html>

frame.html:

<!DOCTYPE html>
<html>
<head>
    <title>Frameset Example</title>
</head>
<body>
</body>
</html>

LoadFrame.js:

window.open("http://www.korrespondent.net", "leftFrame");

因此,为了有可能访问某些内部框架,我们应该使用JavaScript的延迟加载