iframe

2012-06-05 14 views
6

में एचटीएमएल तत्व की स्थिति बाहर निकालें I iframe में मौजूद तत्व की स्थिति जानना चाहते हैं। मैं OT उपयोग कोशिश कर रहा हूँ: -iframe

//Function to find the position of element on page 
function getElementPosition(elem){ 
    var posX = 0; 
    var posY = 0; 
    while(elem!= null){ 
     posX += elem.offsetLeft; 
     posY += elem.offsetTop; 
     elem = elem.offsetParent; 
    console.log("In function:" + elem.tagName + " " + posX + " " + posY); 
    }        
return { x : posX, y : posY }; 
} 

आइफ्रेम के सभी तत्वों की सूची प्राप्त करने के लिए,

var doc1 = $('#page1').get(0).contentDocument; // page1 is id of iframe element 
var list1 = doc1.getElementsByTagName('*'); 
console.log(list1.length);      // Printing correctly 
var index = prompt("Enter element index"); 
var elem1 = list1[index]; 
var pos1 = getElementPosition(elem1); 
console.log("Positions:" + pos1.x + " " + pos1.y); 

लेकिन यह काम नहीं कर रहा। प्रारंभ में elem शून्य नहीं है लेकिन elem.offset माता-पिता हर मामले में शून्य है। क्या मैं कुछ गलत कर रहा हूँ?

कुछ तत्वों के लिए, यह ठीक काम कर रहा है। लेकिन कुछ तत्वों के लिए, ऑफसेट माता-पिता शून्य आ रहे हैं और इसलिए उनका ऑफसेट लेफ्ट 0 है और ऑफसेट टॉप 0

क्या प्रत्येक तत्व की स्थिति जानने का कोई अन्य तरीका है।

अग्रिम धन्यवाद ..

+0

शायद http://stackoverflow.com/questions/306305/what-would-make-offsetparent-null आपकी मदद कर सकता –

+3

आप एक Iframe का उपयोग कर सकते केवल अगर यह से है आपके स्वयं का डोमेन - वही मूल नीति अन्य डोमेन से इफ्रेम तक पहुंच प्रतिबंधित करती है। – Christoph

+0

@ क्रिस्टोफ पेज केवल मेरी डिस्क पर है .. इसलिए मूल उत्पत्ति नीति के बारे में कोई सवाल नहीं है – sachinjain024

उत्तर