页面中有个iframe:
复制代码 代码如下:
iframe src=https://www.rkxy.com.cn/dnjc/’a.html’/iframe
button测试IFRAME泄露/button
其中a.html内容如下:
复制代码 代码如下:
!DOCTYPE html
html
head
meta charset="UTF-8"
titleInsert title here/title
script type="text/javascript" src="/images/defaultpic.gif"/script
style
.hack{
/* 1.所有浏览器都有效 */
background-color:green;
/* 2.IE8~IE10,Opera有效,但是Opera兼容性可以不考虑 */
background-color:blue;
/* 3.IE9~IE10有效,与2组合,在2中先写针对IE8的,在此条中针对IE9|IE10 */
background-color:red9;
/* 4.IE7有效,与23组合能区分出IE7/IE8/(IE9|IE10) */
background-color:yellow;
}
/* 针对IE10*/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
.hack{
background-color:pink;
}
}
/style
/head
body
后缀"9" IE6/IE7/IE8/IE9/IE10都生效
后缀"" IE8/IE9/IE10都生效,是IE8/9/10的hack
后缀"9" 只对IE9/IE10生效,是IE9/10的hack
前缀"*" 对IE7有效
前缀" " 对IE7有效
选择器前缀 @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none)
针对IE10有效
复制代码 代码如下:
input type=’text’ value=https://www.rkxy.com.cn/dnjc/’中文’/input
div class=’hack’ style="width:100px;
height:100px;"/div
div id="1" style="padding:5px;position:relative;background-color:green;margin:10px;border:20px solid red;width:100%;height:200px;"
/div
div id="2"/div
spanSPAN/span
/body
/html
b.html内容如下:
复制代码 代码如下:
!DOCTYPE html
html
head
meta charset="UTF-8"
titleInsert title here/title
script type="text/javascript" src="/images/defaultpic.gif"/script
/head
body
spanSPAN/span
/body
/html
网上有传,如下写法可降低内存泄露:
复制代码 代码如下:
var frameDom = $(’iframe:eq(0)’)[0];
var frameWin = frameDom.contentWindow;
try{
frameWin.document.write(’’);
frameWin.document.clear();
}catch(e){};
frameDom.src = https://www.rkxy.com.cn/dnjc/’b.html’;
那么效果怎样呢?
写法一:直接设置URL
复制代码 代码如下:
var flag = true;
var frameDom = $(’iframe:eq(0)’)[0];
$(’button’).on(’click’,function(){
if(flag){
var frameDom = $(’iframe:eq(0)’)[0];
var frameWin = frameDom.contentWindow;
/*
try{
frameWin.document.write(’’);
frameWin.document.clear();
}catch(e){};
*/
frameDom.src = https://www.rkxy.com.cn/dnjc/’b.html’;
flag = false;
}else{
var frameDom = $(’iframe:eq(0)’)[0];
var frameWin = frameDom.contentWindow;
/*
try{
frameWin.document.write(’’);
frameWin.document.clear();
}catch(e){};
*/
frameDom.src = https://www.rkxy.com.cn/dnjc/’a.html’;
flag = true;
}
//$(’#console’).append(flag’切换到a.html’:’切换到b.html’);
});
使用sIEve测试:每切换一次,#leaks增加28左右 。
写法二:按网传写法
复制代码 代码如下:
script
var flag = true;
var frameDom = $(’iframe:eq(0)’)[0];
$(’button’).on(’click’,function(){
if(flag){
var frameDom = $(’iframe:eq(0)’)[0];
var frameWin = frameDom.contentWindow;
try{
frameWin.document.write(’’);
frameWin.document.clear();
}catch(e){};
frameDom.src = https://www.rkxy.com.cn/dnjc/’b.html’;
flag = false;
}else{
var frameDom = $(’iframe:eq(0)’)[0];
var frameWin = frameDom.contentWindow;
try{
frameWin.document.write(’’);
frameWin.document.clear();
推荐阅读
- v4.03版1110的几点使用细节提示
- 家有读书郎的下一句
- win8系统下IE浏览器闪退的问题解决步骤
- 使用乐嗨Music下载网络音乐的方法步骤
- 如何使用手机百度图片搜索功能
- 使用Folder Protect设置文件夹权限的方法
- 经得起大风大浪下一句
- 高铁可以提前一站下车吗
- 灭火器的压力表在绿色范围内可以正常使用吗
- win10系统下载进度一直是0