0

最近,Craigslist 将结果页面上的搜索结果排序更改为“相关性”。它曾经按“日期”排序。

结果页面上有单选按钮,但“相关性”按钮是默认设置的。查看页面上的源代码,有一行显示:

<input type="hidden" name="sort" value="rel">

我认为,由于我对编码的了解非常有限,value="rel" 值需要更改为“date”。我想使用 Greasemonkey 将默认排序更改回“日期”。


我认为有很多像我这样的人发现“相关性”排序非常烦人。现在的“相关性”方式,所有搜索结果都按日期分散。我希望排序是从最新到最旧的降序排列。

这可以用 Greasemonkey 脚本完成吗?如果有怎么办?有人可以写一个脚本来完成这个吗?改变那一行真的很难吗?

如果这里有人可以提供帮助,我将不胜感激。如果需要更多信息,我可以提供(我希望)。

我对任何编码的经验都非常有限。我主要是最终用户。

  • 我已经在互联网上发布了我的请求,但还没有给出答案。
  • 我用谷歌搜索了一个“类似”的脚本,我可以修改它来完成我需要的东西,但还没有想出任何东西。
  • 我访问了 Userscripts 并浏览了数十个现有脚本,以找到可以修改的东西,但找不到任何东西。
  • 我尝试了一些来自 Userscripts 的其他脚本,这些脚本是为了做类似的事情而编写的,但是在不同的站点上,我无法让它们在 Craigslist 上工作。

虽然我真的很想,但我不认为我可以在几天内学习 javascript,更不用说几周了,以便能够编写我需要的东西。

4

4 回答 4

1

改变那<input>将无济于事。您需要单击“最新”按钮。您将使用此答案中描述的技术以最可靠的方式执行此操作。

但是,对于我看到的 Craigslist 搜索页面,例如这个,排序顺序按钮只是加载具有不同查询参数的页面的链接。例如:

?sort=rel&areaID=229&catAbb=sss&query=tools

相对:

?sort=date&areaID=229&catAbb=sss&query=tools

分别用于相关最新排序。

这意味着您可以使用URL 重写来获得所需的排序顺序,而无需两次加载整个页面。

完整的脚本如下所示:

// ==UserScript==
// @name        Craigslist search, switch "Relevant" to "Date" sorting
// @match       *://*.craigslist.org/search/*
// @run-at      document-start
// @grant       none
// ==/UserScript==

//--- Only fire if "sort=rel" is in the query string.

if ( /\bsort=rel\b/.test (window.location.search) ) {
    var newSrch = window.location.search.replace (
        /\bsort=rel\b/, "sort=date"
    );
    var newURL  = window.location.protocol + "//"
                + window.location.host
                + window.location.pathname
                + newSrch
                + window.location.hash
                ;
    /*-- replace() puts the good page in the history instead of the
        bad page.
    */
    window.location.replace (newURL);
}
于 2013-11-13T03:27:23.313 回答
1

对于像我这样不知道如何很好地使用Greasemonkey的人来说,如果这里是 Firefox 的一步一步26.0

  1. 突出显示并复制上面的“完整脚本”,以“//”开头,以“}”结尾。
  2. 去FF工具>插件,搜索Greasemonkey,安装它并重启FF。
  3. 转到FF工具>Greasemonkey>新用户脚本,将其命名为“Craigslist Relevant”单击按钮“剪贴板中的新脚本”
  4. 在弹出的窗口中单击“保存”并关闭窗口。
  5. 一条关于@grant 丢失的消息出现了,但是当我去 CL 并进行搜索时,它起作用了!

谢谢布洛克

于 2013-12-21T13:24:26.200 回答
0

我必须删除 + window.locaiton.hash 才能让它在 chrome 中工作(使用 tampermonkey 而不是greasemonkey)。也许这会帮助某人......

于 2014-10-14T13:33:30.900 回答
0

我刚刚&sort=date在浏览器的网址末尾添加了它,它有效!

原来的网址是:

https://newyork.craigslist.org/search/mnh/crg?query=film&is_paid=all

添加后&sort=date

https://newyork.craigslist.org/search/mnh/crg?query=film&is_paid=all&sort=date

于 2018-09-02T01:55:47.167 回答