下面这段JS代码,为什么运行以后右键查看源代码,看不到代码已经被屏蔽,而是一行乱码?
<html><head><title>测试是否能看到源代码</title><script>functionclear(){Source=document.body.inn...
<html>
<head>
<title>测试是否能看到源代码</title>
<script>
function clear()
{
Source=document.body.innerHTML; //获取文档的原有内容
document.open(); //打开文档
document.write("代码已经被屏蔽");//输出提示内容
document.close(); //关闭文档
document.title="看不到源代码"; //文档标题
document.body.innerHTML=Source; //重新写入旧内容
}
</script>
</head>
<body onload=clear()>
<marquee>测试下能否看到源码</marquee>
</body>
</html> 展开
<head>
<title>测试是否能看到源代码</title>
<script>
function clear()
{
Source=document.body.innerHTML; //获取文档的原有内容
document.open(); //打开文档
document.write("代码已经被屏蔽");//输出提示内容
document.close(); //关闭文档
document.title="看不到源代码"; //文档标题
document.body.innerHTML=Source; //重新写入旧内容
}
</script>
</head>
<body onload=clear()>
<marquee>测试下能否看到源码</marquee>
</body>
</html> 展开
2个回答
展开全部
你在onload执行了 clear方法。
代码解释如下:
Source=document.body.innerHTML;
//获取body元素内的内容
document.open();
//打开一个新的空白文档
document.write("代码已经被屏蔽");
//往这个新文档里写内容(你看到的那一行字就是这个,至于乱码是由于页面编码问题)
document.close();
//关闭文档
document.body.innerHTML=Source;
//把原来的内容重新写回body元素中
可能你还是不理解
其实我们右键看到的源代码都不是动态生成的,都是原生的,document.write就是原生的,是往页面里面写内容
但是document.body.innerHTML=Source却是动态生成修改的,所以源代码里是看不到的,是运行中的东西。
希望对你有帮助
微测检测5.10
2023-05-10 广告
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇...
点击进入详情页
本回答由微测检测5.10提供
展开全部
<html>
<head>
<meta http-equiv="content-style-type" content="text/css">
<link rel="stylesheet" href="css/style.css" type="text/css">
<title>测试是否能看到源代码</title>
<script>
function clear()
{ Source=document.body.innerHTML; document.open();
document.write("代码已经被屏蔽");
document.close();
document.title="看不到源代码";
document.body.innerHTML=Source; }
</script>
</head>
<body onload=clear()>
<marquee>测试下能否看到源码</marquee>
</body>
</html>
把注释去掉就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询