[ Vlada A @ 16.12.2011. 20:12 ] @
Zdravo svima. Imam kod za izvlacenje xpath putanje (javascript) i radi odlicno kada se primenjuje na HTML elementima: Code: <script src="http://code.jquery.com/jquery-latest.js"></script> //function for xpath location <script type="text/javascript"> function getXPath(node, path) { path = path || []; if(node.parentNode) { path = getXPath(node.parentNode, path); } if(node.previousSibling) { var count = 1; var sibling = node.previousSibling do { if(sibling.nodeType == 1 && sibling.nodeName == node.nodeName) {count++;} sibling = sibling.previousSibling; } while(sibling); if(count == 1) {count = null;} } else if(node.nextSibling) { var sibling = node.nextSibling; do { if(sibling.nodeType == 1 && sibling.nodeName == node.nodeName) { var count = 1; sibling = null; } else { var count = null; sibling = sibling.previousSibling; } } while(sibling); } if(node.nodeType == 1) { path.push(node.nodeName.toLowerCase() + (node.id ? "[@id='"+node.id+"']" : count > 0 ? "["+count+"]" : '')); } return path; }; </script> Medjutim ono sto meni treba jeste da uzima xpath putanje iz iframe elementa preko jquery koda i da upisuje u polje sa fokusom sto sam pokusao ovim kodom ali ne radi: Code: <script type="text/javascript"> $('#iframe').ready(function () { var selectedtextbox; $('input[name="myinput"]').focus(function(){selectedtextbox=$(this);}); $('p, li, a, href').click(function () { var xpath = getXPath(this); selectedtextbox.val(xpath) }); }); </script> Iframe je na mom domenu i dobijam ga sledecim kodom: Code: <?php error_reporting(E_ALL ^ E_NOTICE); $url = $_GET['url']; if( ! empty($url)) { $data = file_get_contents($url); $data = str_replace('<head>', '<head><base href="'.$url.'" /></base>', $data); $data = preg_replace('#<script(.*?)>(.*?)</script>#is', '', $data); $data = preg_replace('#<iframe(.*?)></iframe>#is', '', $data); $data .= ' <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $("div").each(function(i){ if($(this).css("position") == "fixed") $(this).css("display", "none"); }); </script> ' ; die($data); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta name="author" content="me" /> <title>FFF</title> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta name="author" content="me" /> <title>FFFF</title> <style type="text/css"> <!-- iframe{width:100%;height:400px;} --> </style> </head> <body> <!-- ... --> <input id="iframe_url" name="" type="text" /> <input id="iframe_button" name="" type="button" /> <iframe id="iframe" src="?url=http://kupime.com"></iframe> <script type="text/javascript"> document.getElementById('iframe_button').onclick = function () { document.getElementById('iframe').src = '?url=' + document.getElementById('iframe_url').value; }; </script> <!-- ... --> //Textfields for xpath location to write inside them <input id="" name="myinput" type="text" value=""> <input id="" name="myinput" type="text" value=""> <input id="" name="myinput" type="text" value=""> </body> </html> GDE BI MOGLA DA BUDE GRESKA U mom jquery kodu za pozivanje funcije getXPath? |