如果您没有登录,Quora网站会将其大部分内容模糊不清。另一种方法是将参数“?share = 1”添加到其网址中。我认为通过Greasemonkey执行此操作的步骤是:
0 /存储当前网址
1 /检查参数是否已经存在。如果是,请休息。
2 /如果没有,请添加参数。
3 /使用更新的网址重新加载。
它类似于this question,但在我看来,这可以在没有正则表达式的情况下完成吗?我错了。
这是我正在尝试使用的代码:
// ==UserScript==
// @name Quora Share
// @namespace kevmo.info
// @version 0.1
// @description adds "?share=1" to URLS, i.e. let's you view full Quora content w/o being logged in.
// @include https://*.quora.com/*
// @include http://*quora.com/*
// @copyright Creative Commons
// ==/UserScript==
var url = window.location.href;
if (url.indexOf("?share=1") !== -1){
break;
}
else{
url +="?share=1";
window.location.replace(url)
}
注意:在“settings”中,我将脚本设置为在document-start上运行。
我知道这种基本方法不适用于其他网站,只是附加“?share = 1”应该在Quora上工作(参见:http://blog.quora.com/Making-Sharing-Better)
当我访问http://www.quora.com/Animals/What-are-some-mind-blowing-facts-from-the-animal-kingdom时,页面不会使用添加的参数重新加载所需的新网址。
答案 0 :(得分:2)
元编辑:您正在使用" break;"而不是在循环结构中。
function share_redirect() {
var new_url = false;
if (window.location.hash.length === 0 && window.location.search.lenth === 0) {
new_url = window.location.href+"?share=1"
} else {
if (window.location.search.indexOf('share=1') != -1) {
return false; // already sharing
}
if (window.location.search.length && window.location.hash.length) {
new_url = window.location.href.split('#')[0]+"&share=1"+window.location.hash;
} else if (window.location.search.length === 0 && window.location.hash.length) {
new_url = window.location.href.split('#')[0]+"?share=1"+window.location.hash;
} else {
new_url = window.location.href+"&share=1";
}
}
if (new_url) {
window.location = new_url;
}
}