在地址栏中执行代码

时间:2013-10-06 16:59:44

标签: javascript firefox execution address-bar

我在一些地方看到你可以使用地址栏执行代码,所以要测试它我输入javascript:alert("hello");并按下[ENTER]但没有任何反应。

我甚至尝试过其他人从这里写过的代码。

javascript:(function%20nomify(){var
%20shapes={"w_rect":["cookiemonstercrumbypicturesopen-o.gif","tumblr_mohxt1V6a91svhqpoo1_500.gif","tumblr_md0q05wMJb1rxis0k.gif","tumblr_ml0nmjWpX41snjjivo1_500.gif","cookie4.gif"],
"t_rect":["CookieMonster-Sitting.jpg","487961_10150955894571587_1215263686_n.jpg","534767_10151516100086587_1790492047_n.jpg","patientmonster.png"],
"square":["cookie_monster.jpg","935823_10151502554911587_1547641144_n.jpg","902502_10151355606796587_45192127_o.jpg","cookie-monster.jpg"]},
img_path="http://downloads.cdn.sesame.org/sw/OmNomNomify/";function%20chooseImg(shape){return%20img_path+shapes[shape]
[Math.floor(Math.random()*shapes[shape].length)]}function%20getShape(h,w)
{return%20h===w?"square":h>w?"t_rect":"w_rect"}var%20imgs=document.getElementsByTagName("img"),
img,h,w,shape;for(var%20i=0,len=imgs.length;i<len;i++){img=imgs[i],h=img.height,w=img.width,s=getShape(h,w);img.setAttribute("height",h);
img.setAttribute("width",w);img.src=chooseImg(s)};return%20void%200;})()

我正在运行firefox 24.0。

这是一项安全事项预防措施吗?我做错了吗?你能真正用地址栏执行代码吗?

1 个答案:

答案 0 :(得分:2)

出于安全考虑,Firefox 6通过地址栏严格限制了JavaScript的功能。

https://bugzilla.mozilla.org/show_bug.cgi?id=656433

如果您打开错误控制台,您将看到一条消息,指示alert是未定义的函数。

Chrome会在地址栏中允许使用JavaScript,但如果你复制+粘贴它,它会剥离javascript:(作为解决同一安全问题的不同方法)。