我發現自己一遍又一遍地閱讀相同的問題,所以我想要一種隱藏問題的方法。Greasemonkey腳本隱藏stackoverflow帖子?
我有一個腳本來做什麼是假設要做的,但它會癱瘓現有的javascript,比如upvote按鈕和在提問時添加標籤。有誰知道這是爲什麼發生,或者如何解決它?
編輯:哦,在錯誤控制檯我得到:
Error: $ is not a function
Source File: http://cdn.sstatic.net/js/stub.js?v=b7084478a9a4
Line: 1
EDIT2:
解決方案
(固定@ 17/06/2014)
// ==UserScript==
// @name StackOverflowHidePosts
// @namespace StackOverflowHidePosts
// @description Allows you to hide questions on Stack Overflow.
// @include http://stackoverflow.com/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
// ==/UserScript==
var idListString = GM_getValue('idList', '');
var idList = idListString.split(',');
GM_setValue('idList', idList.join(','));
function getId (idString)
{
return idString.split('-')[2];
}
function removeQuestion (e)
{
var id = getId(e.data.questionSummaryDiv.id);
$(e.data.questionSummaryDiv).hide(250);
idList.push(id);
setTimeout(function() {
GM_setValue('idList', idList.join(','));
}, 0);
return false;
}
$('div.question-summary').each(function (index, questionSummaryDiv)
{
var id = getId(questionSummaryDiv.id);
if (idList.indexOf(id) != -1)
{
$(questionSummaryDiv).hide();
return;
}
var link = $('<a><em>(Hide Post)</em></a>');
link.attr('href', '#' + questionSummaryDiv.id);
link.click({questionSummaryDiv: questionSummaryDiv}, removeQuestion);
$('div.started', questionSummaryDiv).append(link);
});
這不會給出任何錯誤,但腳本似乎也不起作用。我沒有隱藏問題,也沒有在問題旁邊註明「太愚蠢」鏈接。 –
我剛測試過它,並在問題列表頁面上添加鏈接,並隱藏了單擊「太愚蠢」鏈接時的問題。你是否編輯腳本? jQuery的一次性副本並不總是這樣工作。將代碼保存爲'SO_filter.user.js',然後卸載舊版本的GM腳本,然後使用Firefox打開該文件,以便GM提示全新安裝(並安裝)。這樣jQuery的本地副本將被正確設置。 –
哦,你說得對。是的,我正在編輯它,並保存它。 刪除它並添加然後添加它作爲一個新的副本修復它。謝謝。 –