返回 登录
0

极客头条网页版MOD:改变界面,当前页面全部链接标记为已点击

阅读516

请在完全理解代码的情况下使用。我水平不高,没法保证不会不小心弄坏什么东西。由使用以下代码造成的损失本人概不负责。
之前问负责极客头条的人了,RSS基本上是不可能有了。看了一下极客头条AJAX请求,太复杂,以我这水平不敢碰,所以自己动手做MOD了。
我发的这个东西抛砖的成分很大,希望能引出真正的高手写个更好的MOD。
顺便问一下,我弄的这个东西有名字么?我已经在不同网站用这种方式弄了很多MOD了,但是从来没见过其他人弄过。Chrome里还有个叫Control Freak的扩展,执行MOD非常省事,根据不同网站和页面自动注入代码。
极客头条最新里面有的话题在审查之后才会显示,审查结束之后话题不是位于最顶端,话题是严格按照时间排序的。所以当天全部标记为全部已点击之后第二天在一大片已点击的话题里有可能会有几个没点击的。
我是在未登录的情况下在Chrome里弄的。而且Chrome也不是原版的,加了一些参数:
“C:\Program Files (x86)\Google\Chrome\Application\chrome.exe” –user-data-dir=”C:/Chrome dev session” –disable-web-security
http://stackoverflow.com/questions/3102819/
这个有一定的安全风险,最好不要在这种情况下登陆。
用来改变界面的代码:

$("dl.geek_list").each(function(){
  $(this).find("dt").remove();
  $(this).find("ul").remove();
});
$(".geek_list dd a.title").css("font-size","12px");
$(".geek_list dd a.title").css("height","12px");
$(".geek_list dd").css("line-height","1");
$(".geek_list dd").css("padding-top","0px");
$(".geek_list dd").css("height","12px");

新刷新出来的话题的样式不会改变,执行之前把要看的全弄出来。我是手动按end键,按end之前要点一下话题那个地方的空白处,否则无效。

将全部链接标记成已点击的代码:

if(confirm("确认将所有链接标记为已点击?\n此操作将污染浏览器历史记录,同源策略未关闭将无效。")){
  var current_url = window.location.href
  $("a.title").each(function(){
    history.replaceState({},"",$(this).attr("href"))
  });
  history.replaceState({},"",current_url)
}

把两段代码分别做成两个JS书签就能用了。
可能有我没提到的非常重要的东西,所以有可能照着做却没效果。

评论