(X)HTML, JavaScript, DHTML, XML, CSS Client scripting tehnologije, Dynamic HTML, Cascading Stylesheets, XML i standardi |
![]() |
|
Alati teme | Način prikaza |
|
![]() |
#1 |
expert
Expert
Datum učlanjenja: 15.03.2011
Poruke: 518
Hvala: 16
20 "Hvala" u 17 poruka
![]() |
![]() Imam funkciju getXPath preko koje dobijam xpath putanju - evo koda:
Kôd:
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; }; Kôd:
<?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="Webarto" /> <title>AdriaMart</title> <script src="http://code.jquery.com/jquery-latest.js"></script> <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> i na kraju sam ja dodao svoju jquery funkciju koja bi trebalo da selektuje elemente unutar IFrame-a i da ih upisuje u text polje koje je u fokusu: Kôd:
$('#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) }); }); inace na obicnom html-u (znaci kada nije u iframe-u) ova funcija radi ekstra, medjutim za iframe nece. Da li je mozda problem u cross-domain security ili ???
__________________
I'm not sexy and I know IT! Poslednja izmena od AdriaMart : 17. 12. 2011. u 01:00. |
![]() |
![]() |
![]() |
#2 |
expert
Expert
Datum učlanjenja: 15.03.2011
Poruke: 518
Hvala: 16
20 "Hvala" u 17 poruka
![]() |
![]() Gde gresim?
__________________
I'm not sexy and I know IT! |
![]() |
![]() |
![]() |
#3 |
expert
Grand Master
Datum učlanjenja: 11.04.2010
Poruke: 998
Hvala: 141
959 "Hvala" u 153 poruka
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Ne možeš tako pristupati iframeu, pokušaj sa ovime... http://api.jquery.com/contents/
Ako ti je problem tako, onda učitaj bez iframe, pa vidi hoće li raditi i kako. |
![]() |
![]() |
![]() |
#4 |
expert
Expert
Datum učlanjenja: 15.03.2011
Poruke: 518
Hvala: 16
20 "Hvala" u 17 poruka
![]() |
![]() Radi sve OK kada je samo HTML u pitanju... znaci kada iskoristim funciju echo... ali u iframeu nikako da proradi!
__________________
I'm not sexy and I know IT! |
![]() |
![]() |
![]() |
#5 |
expert
Expert
Datum učlanjenja: 15.03.2011
Poruke: 518
Hvala: 16
20 "Hvala" u 17 poruka
![]() |
![]() Probao sam i ovo ali ni to ne radi:
var iframeDoc = $('iframe#iframe').contents().get(0); $(iframeDoc).bind('click', function(event) { alert(getXPath(event.target)); }); a cini mi se da i @webarto nije u pravu... ovde je problem cross-security najverovatnije jer je strana samo mirrovana i broswer je vidi kao drugu stranicu... ipak nemoze da se radi ovako, moraju da se preprave sve adrese i da se sacuva na mom dome nu!
__________________
I'm not sexy and I know IT! Poslednja izmena od AdriaMart : 18. 12. 2011. u 14:56. |
![]() |
![]() |
![]() |
#6 |
banned
Professional
Datum učlanjenja: 04.06.2005
Poruke: 371
Hvala: 0
738 "Hvala" u 83 poruka
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Možda nisi sačekao da se iframe učita, pokušaj:
Kôd:
$(function () { var selectedtextbox; $('input[name="myinput"]').focus(function(){selectedtextbox=$(this);}); $('#iframe').load(function(){ $('body *', $(this).contents()).click(function (event) { event.stopPropagation(); event.preventDefault(); var xpath = getXPath(this); selectedtextbox.val(xpath) }); }); });
__________________
Don't look at me; I'm lost too. “If you can't dazzle them with brilliance, baffle them with bul*s**t.” |
![]() |
![]() |
![]() |
#7 |
expert
Expert
Datum učlanjenja: 15.03.2011
Poruke: 518
Hvala: 16
20 "Hvala" u 17 poruka
![]() |
![]() @Branko da nije tebe ovaj projekat bi danas bio na NULI, Neznam vise kako da ti se zahvalim za svu ovu pomoc. Novcano cu garantujem ti cim budu neke pare legle od ovoga!
a ja mislio da je opet problem cross-domain security!
__________________
I'm not sexy and I know IT! Poslednja izmena od AdriaMart : 18. 12. 2011. u 21:00. |
![]() |
![]() |
![]() |
#8 |
expert
Expert
Datum učlanjenja: 15.03.2011
Poruke: 518
Hvala: 16
20 "Hvala" u 17 poruka
![]() |
![]() Sada sam takodje pokusao da dodam kod strane ispod iframe-a sa :
<?php echo htmlspecialchars(file_get_contents($_GET['url'])); ?> da prikazuje source code kao string, medjutim prikazuje ("Filename cannot be empty ... ") a ovde mi se cini da filename uopste nije prazno jer ne bi bilo ni iframe-a... Kada se ovo uradi da li postoji mogucnost da se nekom jquery funcijom klikom na elemenat u iframeu obelezava i deo u srtingu tj. da jednostavno da se menja boja pozadine dela stringa kada se klikne na neki elemenat u iframeu ?
__________________
I'm not sexy and I know IT! |
![]() |
![]() |
![]() |
#9 | |
banned
Professional
Datum učlanjenja: 04.06.2005
Poruke: 371
Hvala: 0
738 "Hvala" u 83 poruka
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Citat:
http://www.php.net/manual/en/reserved.variables.get.php Nisam siguran da li razumem, da li misliš nešto kao Firebug, odnosno Developer Tools, Dragonfly u ostalim browserima? Ukoliko je to, skini i raspakuj (promeni ekstenziju *.xpi u *.zip) Firebug ekstenziju i pogledaj kako ona radi.
__________________
Don't look at me; I'm lost too. “If you can't dazzle them with brilliance, baffle them with bul*s**t.” |
|
![]() |
![]() |
![]() |
#10 | |
expert
Expert
Datum učlanjenja: 15.03.2011
Poruke: 518
Hvala: 16
20 "Hvala" u 17 poruka
![]() |
![]() Citat:
Posto vidim da su svi ovi fajlovi Javascript i css, tpl, mogu li da nekako jednostavno samo integrisem ovo na svoju stranicu?
__________________
I'm not sexy and I know IT! |
|
![]() |
![]() |
![]() |
Alati teme | |
Način prikaza | |
|
|