Перезагрузите ту же страницу с Tampermonkey, если перезапустить скрипт - PullRequest
0 голосов
/ 15 февраля 2020

У меня есть страница с URL-адресом, например:

https://some-github-like-page.com/pulls?q=is%3Aopen+is%3Apr+label%3AOptimization+sort%3Acomments-asc

Эта страница прекрасно запускает мой скрипт tampermonkey.

Боковая панель: С моим скриптом tampermonkey я запускаю несколько AJAX запросов, чтобы улучшить таблицу страниц запросов на открытие открытых github, показывая рецензентам кода, которые ответили, одобрили, прокомментировали, ничего не сделали или ... Кроме того, количество файлов, измененных в вытащить запрос отображается. Этот сценарий используется во время проверки кода, чтобы получить представление об открытых запросах извлечения и необходимых проверках кода.

На странице существует некоторый код HTML для сортировки запроса извлечения ... некоторые повторяющиеся элементы иметь HTML код, подобный следующему:

<a href="/pulls?q=is%3Aopen+is%3Apr+label%3AOptimization" class="select-menu-item" aria-checked="true" role="menuitemradio">
          <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"></path></svg>
          <div class="select-menu-item-text">Least commented</div>
</a>
<a href="/pulls?q=is%3Aopen+is%3Apr+label%3AOptimization+sort%3Aupdated-desc" class="select-menu-item" aria-checked="false" role="menuitemradio">
          <svg class="octicon octicon-check select-menu-item-icon" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"></path></svg>
          <div class="select-menu-item-text">Recently updated</div>
</a>
...

Приведенный выше код должен сортировать элементы на странице со стороны сервера.

Проблема в том, что когда я нажимаю на этот якорь (видно выше). Сценарий не запускается снова ... даже несмотря на то, что омнибар показывает новый URL.

Я попробовал несколько версий @ run-at, но не увидел, что сценарий снова запущен.

Вот псевдо-копия заголовка:

// ==UserScript==
// @name         Turbo Code Review Requests Preview
// @namespace    http://some-company.com/tampermonkey
// @version      0.3
// @updateURL    https://internal-company.com/nursery/tools/raw/master/UserScripts/TurboCodeReview/Turbo%20Code%20Review%20Requests.user.js
// @description  Give an enhanced view of Pull Requests Status
// @author       SWarren and ...
// @include      https://some-github-like-page.com/pulls?*
// @grant GM_xmlhttpRequest
// @run-at document-start

Как можно заставить tampermonkey запускаться, когда загружается такая «новая страница»? Я могу изменить заголовки tampermonkey или вставить что-то в элементы сортировки выше?

...