Voglio scoprire la posizione di un elemento che è in iframe. Sto cercando l'uso OT: -Posizione di partenza dell'elemento html in 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 };
}
per ottenere l'elenco di tutti gli elementi di iframe,
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);
Ma questo non sta funzionando. Inizialmente elem non è nullo ma elem.offsetParent è nullo in ogni caso. Sto sbagliando?
Per alcuni elementi, funziona correttamente. Ma per alcuni elementi, offsetParent sta arrivando a zero e quindi il loro offsetLeft è 0 e offetTop è 0.
C'è un altro modo per scoprire la posizione di ciascun elemento.
Grazie in anticipo ..
forse http://stackoverflow.com/questions/306305/what-would-make-offsetparent-null può aiutare a –
È possibile accedere a un Iframe solo se è dalla tua own domain - Same Origin Policy limita l'accesso a Iframe da altri domini. – Christoph
@Christoph La pagina si trova solo sul mio disco. Nessuna domanda sulla stessa politica di origine – sachinjain024