zoukankan      html  css  js  c++  java
  • Ext.Net中清除iframe之前显示内容

        我在Ext.net Window中放入Iframe,用于调用跨域的网页。使用过程中发现调用下一个页面时,先前的页面会显示出来,然后才跳转到下一个页面,我决定清除先前的页面。

        我的做法是,在Window的Close和Hide事件中增加移除方法。即在下一个页面显示前清除页面内容。(我先前做法是在调用下一个页面时,先清除页面内容,在显示,但这样仍然会显示先前页内容。)

    具体代码:

     1、Ext.Net Window Html代码

        增加了Close及Hide事件。

            <ext:Window ID="WindowSite" runat="server" Icon="Application" Height="600px" Width="1000px"
                BodyStyle
    ="background-color: #fff;" Padding="5" Modal="true" AutoShow="false"
                Hidden
    ="true" AutoDoLayout="true" Maximizable="true" Maximized="false" 
    Html
    =" <iframe id='iframeSite' frameborder='0' width='100%' height='100%' src=''></iframe>">
                <Listeners>
                    <Close Fn="WindowCloseOrHide" />
                    <Hide Fn="WindowCloseOrHide" />
                </Listeners>
            </ext:Window>

    2、编写清除方法

         有两种,一种是直接设置空白页,代码如下。

    var WindowCloseOrHide = function () {
        //清除ifame
        var iframeSite = document.getElementById("iframeSite");
        if (iframeSite) {
            iframeSite.src = "about:blank";"BlackPage.htm";      
        }
    }

     另外一种,在项目建立一个页面,然后调用这个页面。我是建立“BlackPage.htm”页,在页加入等待信息,这样第次加载前都会显示等待信息,Html代码如下。

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
    </head>
    <body>
        <div style="text-align: center; color: Blue">
            正在加载……</div>
    </body>
    </html>

     清除代码如下:

    var WindowCloseOrHide = function () {
        //清除ifame
        var iframeSite = document.getElementById("iframeSite");
        if (iframeSite) {
            iframeSite.src = "about:blank";
            //        iframeSite.src = "BlackPage.htm";      
        }
    }

          注:使用以下方式清除Ifrme内容是不行的,原因是跨域操作,代码如下。

    var WindowCloseOrHide = function () {
        //清除ifame
        var iframeSite = document.getElementById("iframeSite");
        if (iframeSite) {
            iframeSite.document.write("<HTML>");
            iframeSite.document.write("<BODY>Loding……");
            iframeSite.document.write("</BODY>");
            iframeSite.document.write("</HTML>");
            iframeSite.document.close();
        }
    }

     

  • 相关阅读:
    JavaScript基础知识(数组的方法)
    JavaScript基础知识(字符串的方法)
    JavaScript基础知识(Number的方法)
    JavaScript基础知识(函数)
    JavaScript基础知识(三个判断、三个循环)
    JavaScript基础知识(数据类型)
    JavaScript基础知识(初识JS)
    iOS开发--Swift 基于AFNetworking 3.0的网络请求封装
    iOS开发--Swift 如何完成工程中Swift和OC的混编桥接(Cocoapods同样适用)
    如何为Swift进行宏定义
  • 原文地址:https://www.cnblogs.com/scottckt/p/2281531.html
Copyright © 2011-2022 走看看