Toon posts:

[js dom3] xpath evaluatie van document in iframe

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik zit wat te prutsen met het XPathEvaluator object in mozilla (fx). Ik heb nu het volgende geimplementeerd

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// de namespace resolver
function nsRes(prefix) {
switch (prefix) {
    case "xhtml":   return "http://www.w3.org/1999/xhtml";
    case "xul":     return "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
    default:        return null;
    }
}

function evaluateXPath(node, expr) {
var xpe = new XPathEvaluator();
var result = xpe.evaluate(expr, node, nsRes, 0, null);
var found = [];
while (res = result.iterateNext())
    found.push(res);
return found;
}


en dat werkt allemaal wel ok, zolang in hetzelfde document zit, maar als ik dit toepas op een document in een iframe werkt ie niet, het andere document zit wel op hetzelfde domein...

error:
Error: uncaught exception: Permission denied to create wrapper for object of class UnnamedClass

[ Voor 3% gewijzigd door Verwijderd op 27-02-2006 12:27 ]


Verwijderd

Topicstarter
opgelost, fout zat ergens anders 8)7

bovenstaande code werkt gewoon dus in firefox, vergeet niet om een namespaceprefix op te geven als je in een namespace (bijvoorbeeld xhtml) gaat werken:

code:
1
2
3
all_p = evaluateXPath(document, "//xhtml:p");
// equavalent aan
all_p = document.getElementsByTagName('p');

zoals je ziet is de tweede uitdrukking dus korter :P maar zonder gein kan je er natuurlijk wat fancier dingen mee doen ook

[ Voor 4% gewijzigd door Verwijderd op 10-02-2006 22:58 ]