为什么浏览器地址栏可以输入js代码,但是我试了试不可以为什么望解答

别人说这是因为js协议问题,我不是很明白又好奇希望解答详细一点,在下没有学过前端,对地址栏了解就是输入url的地方,url一般格式也不是这样的嘛,还有从前可以输入js代码,为什么现在不可以了,希望可以详细解答一下

4个回答

浏览器有一个 javascript: 的伪协议。
在地址栏输入 javascript:alert(123); 就可以执行alert(123);代码。
注意:Chrome浏览器一定要手工输入,用粘贴的话javascript:会被过虑掉。
另外javascript: 伪协议还可以用于html标签的href和src属性中,如:

<a href="javascript:alert(123);"></a>
jslang
天际的海浪 回复zuoside__lord: alert()方法只是弹出对话框。方法本身没有返回值,就会显示undefined。 如果用confirm()或prompt()就会根据用户选择或输入返回不同的值。
2 年多之前 回复
zuoside__lord
1-Libra-7 就是谢谢啦,前端真神奇
2 年多之前 回复
zuoside__lord
1-Libra-7 回复jslang: 我在控制台输入它显示 undefined
2 年多之前 回复
jslang
天际的海浪 其实现在的浏览器都能用F12开启控制台。可以在控制台中输入js代码。比地址栏方便的多
2 年多之前 回复

还是浏览器设计问题。
早期地址栏是设计成可以解析HTML语法的(为了方便,复用浏览器其它代码功能),所以当然可以解析JS了,不仅可以解析JS还可以解析HTML呢。
现在的Chrome另外设计了,改成特定的用于处理地址,内部标签,搜索框的了。
不过IE11还是可以支持下文代码的:javascript:alert('hello world');
不要直接拷贝,因为直接拷贝地址栏默认会把这个词javascript过滤掉,手动输入或者添加即可。

说明你看的书是老黄历,你可以用ie 8.0或者 firefox 1.5,前者是xp自带的,后者可以网上下载。

zuoside__lord
1-Libra-7 我没有看书,还没有学前端,偶然看见好奇
2 年多之前 回复

控制台可以使用jQuery查看前台对象缓存

立即提问
相关内容推荐