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

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

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

有帮助吗?

解决方案

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

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

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

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

其他提示

值得注意的是,您也可以将其放入函数包装器中。伊姆拉纳马吉德(imranamajeed)很好地向我们说明了这一点……但显然我对这个网站还太陌生,无法发表他的帖子。:P

所以为了清楚起见:

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

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

一个小问题。 IE 只能处理一个 508 这种格式的字符 URL。如果您在 IE 中保存的网址长度超过此值,它将在没有警告的情况下被截断,从而失败。

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

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

谷歌书签

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 中创建了一个书签,返回并更新它并添加了以下测试:

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

你瞧,在我保存并加载后,我能够收到警报。

我相信您可以根据您的需要制作类似的东西。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top