我想要一个 Firefox 插件,它可以识别网站页面并自动重定向到页面中识别其 XPath 的链接。
一个例子是 DZone 等新闻聚合网站。每当我点击 DZone RSS 源的链接时,它都会转到 DZone 网站,并且只有在点击链接后才会跳转到实际的博客/新闻页面。我希望在进入 DZone 网站时自动跳转到实际的内容/博客/新闻页面。
答案1
听起来很容易创造油脂猴用户脚本来执行此操作。
Greasemonkey 脚本仅在与您提供的表达式匹配的 URL 上启动(因此您可以这样写“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;