Я хотел бы иметь дополнение Firefox, которое распознает страницу веб-сайта и автоматически перенаправляет ссылку на страницу, идентифицировавшую его XPath.

Один из примеров этого - на сайтах-агрегаторах новостей, таких как DZone. Всякий раз, когда я нажимаю на ссылку RSS-канала DZone, он переходит на веб-сайт DZone и только после перехода по ссылке переходит на реальную страницу блога / новостей. Я хочу автоматически переходить на фактический контент / блог / страницу новостей, когда я захожу на сайт DZone.

1 ответ1

0

Кажется, для этого было бы легко создать пользовательский скрипт Greasemonkey .

Сценарии Greasemonkey запускаются только на URL-адресах, соответствующих заданной вами выраженности (так что вы можете написать sth, например " http://dzone.com/ *), и они выполняются после загрузки страницы (сверху будет более подробно: когда срабатывает событие DOMContentLoaded ).

Написание скрипта должно быть простым с простым JavaScript и XPath. Вам нужно прочитать какое-то значение с помощью XPath, как вы говорите, а затем выполнить перенаправление, установить window.location = ...

Если я вас правильно понял, вы можете использовать следующий код - у меня работает в Firefox 7.0.1 / Greasemonkey 0.9.11

// ==UserScript==
// @name           Dzone Automatic Redirect
// @namespace      userscript_dzone
// @include        http://www.dzone.com/links/rss/*
// ==/UserScript==

   var XPathTools = 
   {
      getElementByXpath : function(xpath, referenceNode)
      {
         var xPathResult = document.evaluate (xpath, referenceNode, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
         return xPathResult.singleNodeValue;
      }
   };

   var xpath = "//div[@id='linkDetails']//div[@class='ldTitle']/a";
   var url = XPathTools.getElementByXpath(xpath,document);
   window.location = url;

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .