У меня есть приложение rails, работающее на порту 3000. На странице, о которой идет речь, есть iframe, и мне нужно изменить его размер в зависимости от высоты содержимого, загруженного в iframe.
<iframe id="ifrm_col3" name="ifrm_col3" frameborder="0"
src="<%=invite_path(@invite.alias)%>"
onload="util.resize_iframe('ifrm_col3');"></iframe>
Функция изменения размера здесь:
util.resize_iframe = function(frame_id) {
var h = document.getElementById(frame_id).contentWindow.document.body.scrollHeight;
document.getElementById(frame_id).height = h;
}
После загрузки iframe я вижу эту ошибку в FireBug:
Error: Permission denied for <http://192.168.0.157> to get property Window.document from <http://192.168.0.157:3000>.
Source File: http://192.168.0.157:3000/javascripts/application.js?1268327481
Line: 84
HTML-код, отображаемый для iframeвыглядит так:
<iframe id="ifrm_col3" name="ifrm_col3" frameborder="0"
src="/invite/my-invite-1"
onload="util.resize_iframe('ifrm_col3');"></iframe>
Src iframe является относительным путем, но я не уверен, почему информация о порте с родительской страницы не сохраняется.Есть ли решение этой проблемы?
Я попытался создать функцию на родительской странице и вызвать ее из iframe, но столкнулся с той же проблемой.
Из-за дополнительных функций на сайте, мне нужно придерживаться порта 3000 для приложения rails.
Любое предложение приветствуется.