56

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

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

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

4

5 回答 5

68

你想要的是一个书签,它们很容易创建,应该可以在大多数主流浏览器中使用。

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

javascript:window.location='http://www.google.com/search?q='+Date()

获取一个在 google 上搜索当前日期的书签。

于 2008-08-12T18:29:24.037 回答
25

值得注意的是,您也可以将其放入函数包装器中。imranamajeed 为我们很好地说明了这一点……但显然我对该网站太陌生了,无法发布他的帖子。:P

所以为了清楚起见:

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

(回车不影响 chrome 和 IE 中的性能)

于 2011-07-20T15:25:09.980 回答
11

一个小问题。IE只能处理这种格式的508个字符的 URL。如果您将其保存在 IE 中,其 url 比这长,它将在没有警告的情况下截断并因此失败。

如果您需要一个非常复杂的脚本,则需要使用“托管”书签,其中您有一个短书签,可以将脚本标签注入页面,以“调用”您的托管书签。

它不是那么好/便携,但它是唯一的解决方法。

于 2008-09-16T01:57:43.250 回答
10

谷歌书签

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)})();
于 2009-01-24T20:13:48.263 回答
8

好吧,我刚刚在FF3中创建了一个书签,回去更新它并添加了以下测试:

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

低,看,在我保存和加载之后,我能够得到我的警报。

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

于 2008-08-12T18:31:11.320 回答