2012-06-07 2 views
3

Я ожидаю, что ограничения безопасности (межсайтовый скриптинг) помешают мне сделать это, но я думал, что просить не помешает. Я работаю над страницей, которая может быть встроена в другую страницу из другого домена. Я ничего не знаю об iframe, но я мог предсказать часть атрибута src. Я могу обнаружить «если» он встроен, но мне действительно нужно знать смещение, на котором оно встроено.Как получить текущее смещение iframe из iframe?

Я занимаюсь вычислением позиций на моей странице (что в этом случае встроено в iframe). Он отлично работает независимо от того, встроен ли он во все существующие браузеры, но дает мне проблемы в IE 7. По какой-то причине смещение jQuery в IE 7 отключается точным количеством встроенного смещения iframe. Я мог бы компенсировать это в этом случае, если бы мог получить смещение.

Заранее спасибо.

+0

Я не думаю, что это будет возможно. Лучшим решением было бы выяснить, почему именно IE7 дает вам эту проблему, и если есть решение для THAT, так как это, скорее всего, будет более простым и чистым маршрутом. –

+0

Спасибо, Кевин. Это, вероятно, хороший совет, но он может быть не в моем распоряжении, как кажется. – KSev

ответ

0

Вы можете сделать это с помощью JavaScript.

родительском фрейме

<html> 
<body> 
    <iframe src="childFrame.html"></iframe> 
</body> 
</html> 

Детская рамочка

<html> 
<body> 
    Child Frame 
</body> 
<script type="text/javascript"> 
    alert(document.parentWindow.document.body.innerHTML); 
</script> 
</html> 

Ключ немного здесь "document.parentWindow.document.body". Теперь у вас есть родительское тело, вы можете получить доступ к HTML и получить любые необходимые вам свойства.

В другом месте вы можете использовать атрибут Sandbox на Iframe. Ознакомьтесь с приведенной ниже ссылкой. Этот атрибут не рекомендуется для производственного кода.

http://www.w3schools.com/tags/tag_iframe.asp

Смежные вопросы