Википедия быстрое цитирование страницы закладки - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь сделать закладку, которая делает что-то похожее на эту, на 9xbuddy , но я хочу ее для функции Cite This Page в Википедии. Вот что у меня есть:

javascript:(function(){ window.open('https://en.wikipedia.org/w/index.php?title=Special:CiteThisPage&page=/'+ document.location.href); })();

но если вы попытаетесь использовать эту вещь, она почти работает. Проблема в идентификаторе страницы. Так что мне интересно, можно ли заставить закладки их получать или нет?

Заранее спасибо (также запустите приведенный ниже фрагмент, чтобы легко его проверить; чтобы вы могли точно увидеть, какой будет результат при использовании закладки).

$(".selectable").click(function() {
    $(this).select();
});
$(document).ready(function () {
    var selectcounter = 1;
    
    $(".selectable").each(function() {
        idja = "selectable" + selectcounter;
        $(this).attr('id', idja);
        $(this).attr('onclick', 'selectText("' + idja + '")');
        selectcounter++;
    });     
});

function selectText(containerid) {
    if (document.selection) {
        var range = document.body.createTextRange();
        range.moveToElementText(document.getElementById(containerid));
        range.select();
    } else if (window.getSelection) {
        var range = document.createRange();
        range.selectNode(document.getElementById(containerid));
        window.getSelection().addRange(range);
    }
}
.selectable {
    cursor: pointer;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
click below text to select it, then drag into bookmarks bar to add as bookmark
<p class="selectable">javascript:(function(){ window.open('https://en.wikipedia.org/w/index.php?title=Special:CiteThisPage&page=/'+ document.location.href); })();</p>

Ответы [ 2 ]

0 голосов
/ 15 марта 2019

Используйте имя пути, а не href, а затем замените / wiki / пустой строкой:

document.location.pathname.replace(/^\/wiki\//, ''))

Полная закладка:

javascript:(function(){ window.open('https://en.wikipedia.org/w/index.php?title=Special:CiteThisPage&page='+ document.location.pathname.replace(/^\/wiki\//, '')); })();
0 голосов
/ 15 марта 2019

Вы можете использовать это как закладку:

javascript:(function(){ window.open('https://en.wikipedia.org/wiki/Special:CiteThisPage?page='+ document.location.href.substr(document.location.href.lastIndexOf('/') + 1)); })();
...