3

ログインしていない場合、ウェブサイト Quora のコンテンツのほとんどがぼやけます。これを回避する 1 つの方法は、パラメータ「?share=1」を URL に追加することです。Greasemonkey を介してこれを行う手順は次のとおりだと思います。

0/ 現在の URL を隠す

1/ パラメータがすでに存在するかどうかを確認します。もしそうなら、壊れてください。

2/そうでない場合は、パラメーターを追加します。

3/ 更新された URL でリロードします。

この質問に似ていますが、これは正規表現なしで実行できるように思えますか? 私は間違っているかもしれません。

これは私が使用しようとしているコードです:

// ==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)
}

注:「設定」で、ドキュメントの開始時にスクリプトを実行するように設定しました。

この種の基本的なアプローチが他の Web サイトでは機能しないことはわかっていますが、「?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にアクセスすると、パラメーターが追加された目的の新しい URL でページがリロードされません。

4

1 に答える 1

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;
    }
}
于 2013-03-06T22:20:15.757 に答える