下面这段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>
展开
 我来答
jas2124
2013-06-15 · TA获得超过197个赞
知道小有建树答主
回答量:109
采纳率:0%
帮助的人:118万
展开全部

你在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 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇... 点击进入详情页
本回答由微测检测5.10提供
pangzhiming
2013-06-15 · TA获得超过374个赞
知道小有建树答主
回答量:787
采纳率:100%
帮助的人:347万
展开全部
<html>

<head>

<meta http-equiv="content-style-type" content="text/css">

<link rel="stylesheet" href="css/style.css" type="text/css">

<title>&#27979;&#35797;是否能看到源代&#30721;</title>

<script>

function clear()

{    Source=document.body.innerHTML;       document.open();                 

 document.write("代&#30721;已&#32463;被屏蔽");

 document.close();              

 document.title="看不到源代&#30721;";     
document.body.innerHTML=Source;  } 
</script> 
</head> 
<body onload=clear()> 
<marquee>&#27979;&#35797;下能否看到源&#30721;</marquee> 
</body> 
</html>

把注释去掉就好了

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式