阅读:2336回复:6
Pagerization脚本在3.6下失效!!!
在3.5.7下正常,3.6就失效了,不能正确获取下一页链接地址。
找不到解决方法。高手请调试一下。 安装回3.5.7就正常了。 |
|
1楼#
发布于:2010-01-28 17:39
可能有些函数在3.6中有所改变,如果没有人知道如何修改,那就只能用 autopager扩展了
|
|
|
2楼#
发布于:2010-01-28 17:39
我找到错误是出现在这个函数里:
function $X(exp, context, type) { 但是不知道怎么改。郁闷。。。官网也没更新。。 |
|
3楼#
发布于:2010-01-28 17:39
也可以试试用autopagerize这个脚本
http://userscripts.org/scripts/show/8551 |
|
4楼#
发布于:2010-01-28 17:39
function $X (exp, context, type ) {
if (arguments.callee.forceRelative) { exp = exp.replace(/id\((?:"([^"]+)"|'([^']+)')\)/g, function (_, v1, v2) { return '//*[@id="' + (v1 || v2) + '"]'; }); } if (arguments.callee.forceRelative) { if (exp.indexOf("(//") == 0) exp = "(.//" + exp.substring(3); else exp = ((exp[0] == "/") ? "." : "./") + exp; } log("xpath:" + exp); if (typeof context == "function") { type = context; context = null; } if (!context) context = document; var exp = (context.ownerDocument || context).createExpression(exp, function (prefix) { return document.createNSResolver((context.ownerDocument == null ? context : context.ownerDocument).documentElement) .lookupNamespaceURI(prefix) || document.documentElement.namespaceURI; }); switch (type) { case String: return exp.evaluate( context, XPathResult.STRING_TYPE, null ).stringValue; case Number: return exp.evaluate( context, XPathResult.NUMBER_TYPE, null ).numberValue; case Boolean: return exp.evaluate( context, XPathResult.BOOLEAN_TYPE, null ).booleanValue; case Array: var result = exp.evaluate( context, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null ); var ret = []; for (var i = 0, len = result.snapshotLength; i < len; ret.push(result.snapshotItem(i++))); return ret; case undefined: var result = exp.evaluate(context, XPathResult.ANY_TYPE, null); switch (result.resultType) { case XPathResult.STRING_TYPE : return result.stringValue; case XPathResult.NUMBER_TYPE : return result.numberValue; case XPathResult.BOOLEAN_TYPE: return result.booleanValue; case XPathResult.UNORDERED_NODE_ITERATOR_TYPE: { // not ensure the order. var ret = []; var i = null; while (i = result.iterateNext()) { ret.push(i); } return ret; } } return null; default: throw(TypeError("$X: specified type is not valid type.")); } } |
|
5楼#
发布于:2010-01-28 17:39
楼上,你这个函数是自己修改的吗?在3.6上有没有效?
|
|
6楼#
发布于:2010-01-28 17:39
还是没人能解决这个问题吗?
|
|