一个浏览器下的奇怪问题

hy86 发布于 2013/05/02 11:16
阅读 966
收藏 1

今天在维护旧系统时,遇到一个问题。

首先,我给一个页面上的按钮加了个打印预览的按钮,点击它,可以弹出一个新窗口对数据进行打印预览。如:window.open(url,"_search");

然后,我用两个浏览器打开了这个页面。一个是猎豹浏览器(使用IE兼容模式),一个是IE8。我先用猎豹点击弹出打印预览窗口,数据显示正常。接着又用IE8点击弹出此预览窗口,但死活弹不开,我以为JS出错了,后来才发现,如果我把猎豹中的预览窗口关闭了,IE8点击才会正常弹出预览窗口;或者说,在IE8下点击预览按钮时,猎豹的打印预览页面居然被刷新了。

引申一个问题:平常我们使用浏览器时,为什么我们刷新当前页面,会使当前页面的数据被刷新,而不会把这个浏览器的另一个页面或另一个选项卡中的数据刷新?浏览器是基于什么来作出判断的呢?

加载中
0
阿伏流
阿伏流
猎豹浏览器的广告拦截屏蔽了弹出窗口
0
阿伏流
阿伏流
你那个引申问题 。。。就是重新请求了一下数据啊,这应该没疑问吧。
0
hy86
hy86

引用来自“Track3r”的答案

猎豹浏览器的广告拦截屏蔽了弹出窗口

我又做了下测试:
1.猎豹和IE8反过来,也就是说先用IE8弹出预览窗口,然后再在猎豹中点击预览,弹出的就是IE8的预览窗口了。
2.这个问题应该与猎豹无关,因为我关掉猎豹,分别用IE8和搜狗浏览器测试,以及用IE8和百度浏览器测试发现问题也是一样的。
3.但貌似三种浏览器同时打开又分别能够识别并打开自己的预览窗口,我有点凌乱了(这点我没认真测)

0
hy86
hy86

引用来自“Track3r”的答案

你那个引申问题 。。。就是重新请求了一下数据啊,这应该没疑问吧。
其实我的意思是,我们刷新当前页面的数据,为什么这些刷新出来的数据没跑到浏览器的其他窗口中,这个又是浏览器依据什么来判断的呢?
0
景愿
景愿
不知所云
0
ITFrank
ITFrank
IE根本不能同时打印两个页面的数据吧,chrome就可以,所以你那个 引申问题,是js判断不了的,开发浏览器时,当然可以判断啊
0
阿伏流
阿伏流

引用来自“阿J小虫”的答案

引用来自“Track3r”的答案

你那个引申问题 。。。就是重新请求了一下数据啊,这应该没疑问吧。
其实我的意思是,我们刷新当前页面的数据,为什么这些刷新出来的数据没跑到浏览器的其他窗口中,这个又是浏览器依据什么来判断的呢?
每个标签页都是独立的进程和窗口,你在这个窗口点击刷新或者F5,当然就知道了你是要刷新这个窗口的数据,如果你想刷新这个页面,别的页面刷新了,这样的浏览器谁敢用
0
阿伏流
阿伏流

引用来自“阿J小虫”的答案

引用来自“Track3r”的答案

猎豹浏览器的广告拦截屏蔽了弹出窗口

我又做了下测试:
1.猎豹和IE8反过来,也就是说先用IE8弹出预览窗口,然后再在猎豹中点击预览,弹出的就是IE8的预览窗口了。
2.这个问题应该与猎豹无关,因为我关掉猎豹,分别用IE8和搜狗浏览器测试,以及用IE8和百度浏览器测试发现问题也是一样的。
3.但貌似三种浏览器同时打开又分别能够识别并打开自己的预览窗口,我有点凌乱了(这点我没认真测)

你默认浏览器是猎豹?
0
hy86
hy86

引用来自“Track3r”的答案

引用来自“阿J小虫”的答案

引用来自“Track3r”的答案

猎豹浏览器的广告拦截屏蔽了弹出窗口

我又做了下测试:
1.猎豹和IE8反过来,也就是说先用IE8弹出预览窗口,然后再在猎豹中点击预览,弹出的就是IE8的预览窗口了。
2.这个问题应该与猎豹无关,因为我关掉猎豹,分别用IE8和搜狗浏览器测试,以及用IE8和百度浏览器测试发现问题也是一样的。
3.但貌似三种浏览器同时打开又分别能够识别并打开自己的预览窗口,我有点凌乱了(这点我没认真测)

你默认浏览器是猎豹?

不是。这与默认浏览器无关吧。

正是这个测试结果引申出了问题,一个页面刷新,数据却跑到了另一个浏览器的页面。我怀疑是这些山寨浏览器与IE使用了共同的内核引起的。(另外,window.open(url,"_search")中,"_search"这个参数表示:如果已经存在了一个被打开的子窗口,是不会再打开新窗口的,所以,这可能使浏览器想要打开新窗口时,检测到了内存中已经存在IE内核下的此窗口,但不管它是否在当前浏览器内,总之抓到了这个存在的子窗口的引用,然后就把这个子窗口给刷新了

0
黑豆白
黑豆白
IE内核的设置问题吧~没碰见过
返回顶部
顶部