沙箱
Sandboxie(又叫沙箱、沙盘)即是一个虚拟系统程序,允许你在沙盘环境中运行浏览器或其他程序,因此运行所产生的变化可以随后删除。它创造了一个类似沙盒的独立作业环境,在其内部运行的程序并不能对硬盘产生永久性的影响。其为一个独立的虚拟环境,可以用来测试不受信任的应用程序或上网行为。
实例:
给每个div、p标签设置边框属性。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>沙箱</title>
<style>
div{
width: 100px;
height: 100px;
background: pink;
text-align: center;
line-height: 100px;
}
p{
width: 100px;
height: 100px;
background: yellow;
text-align: center;
line-height: 100px;
}
</style>
<script>
window.onload = function(){
function getTag(tarName){
return document.getElementsByTagName(tarName);
}
var divs = getTag('div');
for(var i=0;i<divs.length;i++){
divs[i].style.border = '1px solid black';
}
var pps = getTag('p');
for(var j=0;j<pps.length;j++){
pps[j].style.border = '2px solid blue';
}
}
</script>
</head>
<body>
<div>1</div><br>
<div>2</div><br>
<div>3</div><br>
<p>4</p>
<p>5</p>
<p>6</p>
</body>
</html>
运行结果:
如果此时正巧有变量的名字与函数名同名,那么系统就会报错。解决的办法可以用沙箱。(function(){}())
和(function(){})()
都是沙箱。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>沙箱</title>
<style>
div{
width: 100px;
height: 100px;
background: pink;
text-align: center;
line-height: 100px;
}
p{
width: 100px;
height: 100px;
background: yellow;
text-align: center;
line-height: 100px;
}
</style>
<script>
var getTag = 1;
var divs = 2;
var pps = 3;
window.onload = function(){
(function(){
function getTag(tarName){
return document.getElementsByTagName(tarName);
}
var divs = getTag('div');
for(var i=0;i<divs.length;i++){
divs[i].style.border = '1px solid black';
}
var pps = getTag('p');
for(var j=0;j<pps.length;j++){
pps[j].style.border = '2px solid blue';
}
}());
console.log(getTag,divs,pps);
}
</script>
</head>
<body>
<div>1</div><br>
<div>2</div><br>
<div>3</div><br>
<p>4</p>
<p>5</p>
<p>6</p>
</body>
</html>