添加一个只有javascript的书签,而不是一个URL

我在想,我不能这样做的原因是因为它可能是一个巨大的安全漏洞,但这里呢…

我想在我的浏览器(FF3,最好)上有一个JavaScript代码的JavaScript代码片段。 它只会根据当前date构造一个URL,然后在该URL上执行一个window.location =。

我知道我可以制作一个页面,并保存在本地机器上,只要引用它,但我只是想知道是否可以绕过这一步,实际上书签的“位置”实际上只是javascript。 我可以发誓,这是可能的几年前,但我找不到任何方式现在告诉我。

你想要的是一个小书签,他们很容易创build,并应该在大多数主stream浏览器中工作。

编辑:堆栈溢出似乎不允许在网站的上下文中创buildbookmarklets,基本上,你可以创build一个新的书签,并在位置字段中键入以下内容

 的javascript:window.location的=的 'http:?//www.google.com/search Q =' +date() 

得到一个在当前datesearch谷歌的书签。

值得注意的是,你可以把它放在一个函数包装器中。 imranamajeed很好地说明了对我们来说……但是显然我对这个网站太陌生了。 :P

为了清楚起见:

javascript:(function(){ location.href = location.href + "#"; })(); 

(回车并不影响Chrome和IE的性能)

一个小的捕获。 IE只能处理这种格式的508个字符的URL。 如果将它保存在一个比这个更长的URL的IE中,它会在没有警告的情况下被截断,从而失败。

如果你需要一个非常复杂的脚本,你需要使用一个“托pipe”书签,在那里你有一个简短的书签,在页面中插入一个脚本标签,来“调用”你的托pipe书签。

这不是很好/便携式,但它是唯一的解决方法。

Google书签

 javascript:(function(){var%20a=window,b=document,c=encodeURIComponent,d=a.open("http://www.google.com/bookmarks/mark?op=edit&output=popup&bkmk="+c(b.location)+"&title="+c(b.title),"bkmk_popup","left="+((a.screenX||a.screenLeft)+10)+",top="+((a.screenY||a.screenTop)+10)+",height=420px,width=550px,resizable=1,alwaysRaised=1");a.setTimeout(function(){d.focus()},300)})(); 

那么,我刚刚在FF3中创build了一个书签,回来并更新它,并添加了以下testing:

 javascript:alert('Wacky%20test%20yo'); 

低沉的看着,我救了,装好后,我才得到警戒。

我相信你可以根据你的需要来做类似的事情。