从地址栏运行时替换页面内容的Javascript代码

从地址栏运行时替换页面内容的Javascript代码,javascript,Javascript,该死的,我决定写了 for(var i =0;i<document.getElementsByTagName("p").length;i++){ document.getElementsByTagName("p")[i].style.textTransform = "uppercase"; } for(var i=0;i如果您的整个文档是由p标记组成的,那么您就是在这些标记中制作所有内容大写 看到这个了吗 您希望发生什么?如果要将其粘贴到地址栏中,请尝试: javascript:

该死的,我决定写了

for(var i =0;i<document.getElementsByTagName("p").length;i++){
    document.getElementsByTagName("p")[i].style.textTransform = "uppercase";
}

for(var i=0;i如果您的整个文档是由
p
标记组成的,那么您就是在这些标记中制作所有内容
大写

看到这个了吗


您希望发生什么?

如果要将其粘贴到地址栏中,请尝试:

javascript:(function(){
               for(var p=document.getElementsByTagName("p"),n=p.length; n--;){
                  p[n].style.textTransform = "uppercase";
               }
           })()

不太清楚为什么它不能从地址栏(至少在Chrome中)工作,但如果你从函数调用它,它会工作。可能存在范围问题,或者它可能与
for
构造有关。无论如何,如果你用匿名函数调用包装它,它会工作。

javascript:for(var i=0;我在OS X Lion上当前版本的Chrome中使用了-1,因为缺少信息。需要更多关于预期结果的信息或输出的屏幕截图。@Jeremy Banks,谢谢,这正是我所希望的,但它不起作用。这种循环效率非常低:每次都会在页面上搜索
el重复所有元素,两次。执行一次
getElementsByTagName()
并将其存储在变量中,然后在循环中使用该变量。由于某种原因,答案已被删除,但在代码末尾添加
void(0)
,它将在地址栏中工作,而不会将屏幕内容替换为“大写”.是的,就是这样。我本来想把它发送给别人,让他们把它贴在地址栏上作为一个笑话,但我想不是……对我来说,不管怎样,Chrome会删除
javascript:
位并重定向到谷歌搜索代码。是的,你必须再次键入
javascript:
部分。我想这就是Chrome的安全性。行动吧实际上,不,这是Chrome的工作原理,它也会将协议从网页上删除(例如
http://www.ebay.com
变成
www.ebay.com
javascript:for(var i =0;i<document.getElementsByTagName("p").length;i++){ document.getElementsByTagName("p")[i].style.textTransform = "capitalize";void(0);}    
javascript:for(var i =0;i<document.getElementsByTagName("p").length;i++){ document.getElementsByTagName("p")[i].style.textTransform = "capitalize";void(0);}