用window.open在同一个新窗口中访问指定url【IE页面缓存问题】
无数次尝试,拼命搜索查资料,就这么个问题花去整整5小时,残念。。。
好歹现在解决了。
情况如下:
想实现类似于newegg,icson等网上商城的购物车模式,即在选购商品的页面A中,点击某些链接,把商品ID传入购物车页面B中,B页面根据此querystring中包含的ID向购物车容器添加此商品,然后购物车页面刷新到无querystring参数的页面状态下。此后每次在页面A中点击添加购物车链接,B页面始终在同一个标签页/窗口中刷新。
观察newegg的页面源代码,在页面A中的链接,是以js形式的window.open(url,windowName)进行窗口的触发。
可是问题出现:
在IE中,点击A页面中的链接,B页面的标签会闪一下,但是也没不做任何改动。后来在B页面的body中onload事件添加客户端方法后观察,发现每次A页面执行window.open时候B其实会重新load的,只不过不做任何回发postback。
而如果用手头的FF3,Chrome浏览器,则会达到期望效果。
研究了很久,很遗憾根本搜不出任何关于这个症状有用的信息,直到发现浏览器页面缓存的字眼,问题解决。
代码如下:
页面A:
<script type="text/javascript" >
function AddToCart(t, Width, Height) {
var newwindow = window.open('test.aspx?id=' + t, 'basketlist');
}
</script>
几种调用方法均可,残念啊,在没找到原因之前,啥都尝试过了...
<asp:HyperLink runat="server" NavigateUrl="javascript:AddToCart('a')" Text ="hyperlink" />
<a href ="javascript:AddToCart('a')" >test</a>
<a href ="#" onclick ="AddToCart('a')" >test</a>
<asp:Button id="btnTest" runat ="server" OnClientClick ="AddToCart('a')" />
页面B:test.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
if (Request.QueryString["id"] != null)
{
HttpCookie cookie = Request.Cookies["Cookie"] ?? new HttpCookie("Cookie");
cookie.Value = cookie.Value + Request.QueryString["id"];
Response.Cookies.Add(cookie);
Response.Redirect("test.aspx");
}
}
if (Request.Cookies["Cookie"] != null)
ltTest.Text = Request.Cookies["Cookie"].Value;
}
---
补充材料:
window.open方法的使用和重载
http://www.w3schools.com/HTMLDOM/met_win_open.asp
转载于:https://www.cnblogs.com/BetaGeek/archive/2008/10/02/1303022.html
用window.open在同一个新窗口中访问指定url【IE页面缓存问题】相关推荐
- Iframe中的SSRS报表中使用windows.open在新窗口中不能打开URL中的问题
也许你遇到这个问题,原因是windows.open 不能跨域执行,因此,访问的URL和要打开的URL要在一个域中. 转载于:https://www.cnblogs.com/coreni/archive ...
- window.open window.showModelDialog 打开一个新窗口/子窗口中调用父窗口的方法
window.open 只打开一个窗口是将 oNewWindow = window . open ( sURL , sName , sFeatures , ...
- ajax 在新选卡打开,JavaScript在新窗口中打开,而不是选项卡
我有一个选择框,当选择一个项目时,它会调用window.open(url) . Firefox默认会在新标签页中打开页面. 但是,我希望页面在新窗口中打开,而不是在新标签页中打开. 我该怎么做? #1 ...
- 【uni-app】在新窗口中打开链接
前言 在 uni-app 应用中,<a href="xxx" target="_blank">打开新页面</>不能实现预期的效果(在新窗 ...
- js 在新窗口中打开URL
在新窗口中打开 <input type="button" value="新窗口打开" onclick="window.open('http:// ...
- 使用拼凑URL的方法,实现DotNetNuke在新窗口中打开内容(三)
使用拼凑URL的方法,实现DotNetNuke在新窗口中打开内容(三) 在前面的文章中,我们介绍了如何通过一系列的"擦边球",使得DotNetNuke可以更加符合我们国人的网页浏览 ...
- 设置苹果电脑vsode在新窗口中打开文件
0.前言 最近切换到mac电脑工作,又得重新安装一些工具软件并设置.虽然这些设置并表示啥复杂的设置,但是久了不设置还是会忘记.于是记录之,也希望给能帮助到需要的人. 我们使用vscode阅读或者编辑文 ...
- 在新窗口中打开PDF
在新窗口中打开PDF 原帖地址:http://www.codeproject.com/jscript/pdf-javascript.asp 我认为在新窗口重打开一个类似PDF的文档应该使用脚本自动完成 ...
- Intellij 如何在新窗口中打开项目
好多程序员都使用intelliJ idea开发项目,由于不小心设置了不在提示打开项目项目方式,所以只能打开一个窗口,而且只能同时打开一个项目,特别郁闷,分享下设置后的效果 工具/原料 IntelliJ ...
最新文章
- 我是如何根据豆瓣api来理解Restful API设计的
- ASP.NET2.0的multiview和wizard控件
- 成功解决⑧NVIDIA安装程序无法继续 此NVIDL驱动程序与此Windows版本不兼容。 此图形驱动程序无法找到兼吝的图形硬件。
- java 有参数的构造函数如何注入_Spring5参考指南:依赖注入
- 彭博社推出“机器学习基础”课程
- 助力高校数字化建设,QQ小程序开发大赛正式启动
- win10+Idea遇到一个bug的解决办法
- 如何在其他类中使用application.properties的属性
- 求救数据库高手~~急急。。。
- leetcode·动态规划
- Web前端页面劫持和反劫持
- 【机器学习】实验5布置:基于K-近邻的车牌号识别
- 数据库索引:索引并不是万能药
- 你可能成不了哪吒,更成不了朴树
- Spring系列之@ComponentScan、@ComponentScans详解(bean批量注册)
- javafx 教程_集成JavaFX和Swing(修订版)
- GB/T 20281-2020实施两周年,美创数据库防火墙的标准实践
- ios sdk 穿山甲_iOS 穿山甲广告 SDK 的使用
- 浙教版数学作业本,参考答案如此下载
- 腾讯云TRTC接入测试以及状态同步功能重点验证
热门文章
- 怎么学python-结合学习经历,谈一谈如何学习Python
- python入门基础代码图-Python入门基础学习一
- python视频教学视频哪个好-python视频教程哪家好
- 开课吧python视频百度云-做摄影2年,工资5000,兼职2W...
- python中国大学排名爬虫写明详细步骤-python爬虫爬取2020年中国大学排名
- python csv读取-Python读取csv文件(详解版,看了无师自通)
- 快速记忆python函数-【速学速记】Python 高阶函数
- python没基础可以学吗-终于认识没有基础怎么学python
- 成都python培训比较好的机构-成都Python培训班哪个好,怎样才能不走弯路学习
- 学好python可以做什么兼职-自学Python能干些什么副业