当前位置:  编程技术>.net/c#/asp.net
本页文章导读:
    ▪js实现网页防止被iframe框架嵌套及几种location.href的区别       首先我们了解一下:window.location.href、location.href、self.location.href、parent.location.href、top.location.href他们的区别与联系,简单的说:几种location.href的区别 js实现网页被iframe框架功能 "window.locatio.........
    ▪window.showModalDialog两次加载问题清除缓存方法       今天遇到这样一件事情, 代码如下: var frmHeight = 352; var frmWidth = 508; var frmTop = (window.screen.height - frmHeight) / 2; var frmLeft = (window.screen.width - frmWidth / 2); var url = "ChosePerson.aspx"; var parameter = "dialogH.........
    ▪asp.net直接Response输出WML页面示例代码       代码如下: protected void Page_Load(object sender, EventArgs e) { Response.ContentType = "text/vnd.wap.wml"; StringBuilder builder = new StringBuilder(); builder.AppendLine("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"); builder.AppendLine(.........

[1]js实现网页防止被iframe框架嵌套及几种location.href的区别
    来源: 互联网  发布时间: 2013-11-30
首先我们了解一下:window.location.href、location.href、self.location.href、parent.location.href、top.location.href他们的区别与联系,简单的说:几种location.href的区别 js实现网页被iframe框架功能
"window.location.href"、"location.href"、"self.location.href"是本页面跳转
"parent.location.href"是上一层页面跳转
"top.location.href"是最外层的页面跳转

举个例子说明(如上图):
如果A,B,C,D都是普通页面,D是C的iframe,C是B的iframe,B是A的iframe,
如果D中js这样写:
"window.location.href"、"location.href":D页面跳转
"parent.location.href":C页面跳转
"top.location.href":A页面跳转

如果D页面中有form的话:
<form>: form提交后D页面跳转
<form target="_blank">: form提交后弹出新页面
<form target="_parent">: form提交后C页面跳转
<form target="_top"> : form提交后A页面跳转

关于页面刷新,D 页面中这样写:
"parent.location.reload();": C页面刷新 (当然,也可以使用子窗口的 opener 对象来获得父窗口的对象:window.opener.document.location.reload(); )
"top.location.reload();": A页面刷新

现在回头看看,js实现网页防止被iframe框架功能就很简单了。假设frame.html文件中框架了content.html文件,那么思路是这样的:在content.html中加入js检测自己本身top.location.href地址,是否为top.location.href地址。如果是则没被嵌套,如果否的话即被嵌套了,这是我们可以提示一下。预览效果

网页防止被框架方法代码:
代码如下:

<script language="javascript">
if(top.location!==self.location){
WarningTxt1 = "content页面被iframe了!";
WarningTxt2 = "我们跳出iframe,直接访问content页面吧!";
alert(WarningTxt1);
alert(WarningTxt2);
top.location.href=/blog_article/self.location.href;
}
</script>

    
[2]window.showModalDialog两次加载问题清除缓存方法
    来源: 互联网  发布时间: 2013-11-30
今天遇到这样一件事情,
代码如下:

var frmHeight = 352;
var frmWidth = 508;
var frmTop = (window.screen.height - frmHeight) / 2;
var frmLeft = (window.screen.width - frmWidth / 2);
var url = "ChosePerson.aspx";
var parameter = "dialogHeight:" + frmHeight + "px;dialogWidth:" + frmWidth + "px;dialogTop" + frmTop + "px;dialogLeft" + frmLeft + "px;scroll:0;status:0;reziable:1;";
var rval = window.showModalDialog(url, "", parameter);
window.showModalDialog()//第一次加载是走page_load()方法的,第二次加载时就不走page_load();

具体原因:
是缓存的问题,你第一次打开窗口后,第二次浏览器没有从服务器端取数据,而直接找到了你已经下载的文件,

最终解决办法:
1.设置浏览器属性
将IE的设置改一下再试试,Internet选项->常规->设置->每次访问此页时检查
(优点全站重加载,可解决问题)

2.添加缓存,把以前的缓存给清除
//加入缓存,清除以前数据,防止不进行加载页面
<%@ OutputCache Duration="1" VaryByParam="none"%>
(优点只针对需要的界面加,节省时间)
//新增

3.(7/10测试时发现IE7不支持第2种缓存格式)没办法只有修改清除缓存代码
在<head></head>中加入
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">

    
[3]asp.net直接Response输出WML页面示例代码
    来源: 互联网  发布时间: 2013-11-30
代码如下:

protected void Page_Load(object sender, EventArgs e)
{
Response.ContentType = "text/vnd.wap.wml";
StringBuilder builder = new StringBuilder();
builder.AppendLine("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>");
builder.AppendLine("<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.2//EN\" \"http://www.wapforum.org/DTD/wml12.dtd\">");
builder.AppendLine("<wml>");
builder.AppendLine("<head>");
builder.AppendLine("<meta http-equiv=\"Cache-Control\" content=\"max-age=0\" />");
builder.AppendLine("</head>");
builder.AppendLine("<card title=\"公开信息查阅中心\">");
builder.AppendLine("<p><img src=/index.html"images/logo.png\" alt=\"公开信息查阅中心\" /><br/>");
builder.AppendLine("<a href=/index.html"\" title=\"新闻动态\">新闻动态</a>|<a href=/index.html"Department.aspx\" title=\"部门机构\">部门机构</a><br/>");
builder.AppendLine("<a href=/index.html"\" title=\"档案文件\">档案文件</a>|<a href=/index.html"\" title=\"最新文件\">最新文件</a><br/>");
builder.AppendLine("");
builder.AppendLine(" </p></card>");
builder.AppendLine("</wml>");
Response.Write(builder.ToString());
Response.End();
}

    
最新技术文章:
▪C#通过IComparable实现ListT.sort()排序
▪C#实现对Json字符串处理实例
▪Winform实现抓取web页面内容的方法
▪Winform实现将网页生成图片的方法
▪C#控制台程序中处理2个关闭事件的代码实例
▪WinForm实现同时让两个窗体有激活效果的特效...
▪WinForm实现拦截窗体上各个部位的点击特效实...
▪用C#的params关键字实现方法形参个数可变示例
▪C#判断某程序是否运行的方法
▪C#验证码识别基础方法实例分析
▪C#通过WIN32 API实现嵌入程序窗体
▪C#实现获取鼠标句柄的方法
▪C#事件处理和委托event delegate实例简述
编程技术其它 iis7站长之家
▪C#中的除法运算符与VB.NET中的除法运算符
▪ASP.NET MVC 5使用X.PagedList.Mvc进行分页教程(PagedLi...
▪Base64编码解码原理及C#编程实例
▪C#实现的优酷真实视频地址解析功能(2014新算...
▪C#和SQL实现的字符串相似度计算代码分享
▪C#使用Word中的内置对话框实例
▪C#反射之基础应用实例总结
▪C#生成单页静态页简单实例
▪C#实现SMTP邮件发送程序实例
▪C#实现随鼠标移动窗体实例
▪C#使用GDI+创建缩略图实例
▪C#实现通过模板自动创建Word文档的方法
▪C#中Response.Write常见问题汇总
▪C#中多态、重载、重写区别分析
▪WinFrom中label背景透明的实现方法
▪C#中out保留字用法实例分析
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3