У меня есть iframe на документе. Используя javascript, я могу получить ширину и высоту iframe, а также ширину и высоту документа. Теперь мне нужно получить позицию x, y iframe в документе из iframe.Как получить положение X и Y iframe из iframe?
код что-то вроде:
<html>
<iframe>
var documentWidth = parent.window.innerWidth;
var documentHeight = parent.window.innerHeight;
var iframeWidth = window.innerWidth;
var iframeHeight = window.innerHeight;
var iframeX = ????
</iframe>
<html>
Я попытался window.offsetTop/Left, parent.window.offsetTop/влево, window.clientTop, и т.д., и что-нибудь еще я могу найти, но получаю «неопределенная ».
Оба находятся на одном сервере, поэтому я не думаю, что у меня проблема с перекрестным доменом.
Любые идеи?
BTW Я не могу использовать JQuery для этого. Только JS.
Вот немного более подробно:
<html>
<body>
<div>
<iframe name="iframe/123/Test">
<html>
<body>
<script src="same domain"></script>
</body>
</html>
</iframe>
</div>
</body>
</html>
Сценарий выглядит следующим образом до сих пор:
// JavaScript Document
var documentWidth = parent.window.innerWidth;
var documentHeight = parent.window.innerHeight;
var iframeWidth = window.innerWidth;
var iframeHeight = window.innerHeight;
var iframeName = window.name;
var iframeX = window.parent.document.getElementsByName(iframeName).offsetLeft;
//Var Dumps
document.write("Document Width: "+documentWidth+"<br>");
document.write("Document Height: "+documentHeight+"<br>");
document.write("Iframe Width: "+iframeWidth+"<br>");
document.write("Iframe Height: "+iframeHeight+"<br>");
document.write("Iframe X: "+iframeX+"<br>");
Я получаю следующие результаты на странице в IFRAME:
Document Width: 1566
Document Height: 652
Iframe Width: 300
Iframe Height: 250
Iframe X: undefined
Я попробовал window.parent.document.getElementsByName (iframeName) .offsetLeft; к сожалению. Я получаю имя с var iframeName = window.name; Я не думаю, что это проблема, хотя я даже попытался написать ее. –
в этом случае вы можете использовать window.parent.document.getElementsByName (iframeName) [0] .offsetTop и window.parent.document.getElementsByName (iframeName) [0] .offsetLeft –
Спасибо за постоянную помощь. Я изменил последнюю строку в JS до того, как var dumps на «var iframeX = window.parent.document.getElementsByName (iframeName) [0] .offsetLeft;" Теперь ни одна из дампов var не появляется, поэтому я предполагаю, что код должен быть разбит из-за [0]. Любая мысль о том, что может нарушить код? –