Сделал свой виджет для сайтов. Но мне нужно чтобы при нажатии на него, он раскрывался полностью по высоте, как это к примеру сделано у виджетов онлайн косультантов. Что сейчас пробую: подключаю внешний скрипт с кодом где создаю iframe(iframe.src опустил):
iframe = document.createElement('iframe');
iframe.id = 'widget_stolik';
window.addEventListener("message", function(event) {
if(event.data == 'changeSize') {
setTimeout(function() {
var height = window.innerHeight;
var iframe = document.getElementById('widget_stolik');
var scrollHeight = Math.max(
iframe.contentWindow.document.body.scrollHeight,
iframe.contentWindow.document.body.offsetHeight,
iframe.contentWindow.document.body.clientHeight
);
if(height < scrollHeight) {
iframe.style.height = height + 'px';
}
else {
iframe.style.height = scrollHeight + 'px';
}
},100);
}
});
И вызывая из скрипта в iframe:
parent.postMessage("changeSize", "*");
Получаю ошибку:
Uncaught DOMException: Blocked a frame with origin "http://site.ru" from accessing a cross-origin frame.
При попытке изменить размер iframe блока( как тогда делают разработчики виджетов? Может кто знает ответ?
Решил проблему меня не высоту самого iframe, а высоту внешнего блока. Как я понял браузер блокирует iframe.contentWindow ... т.е получить какие то параметры iframe нельзя, пришлось задавать цифры вручную. + Высоту iframe тоже нельзя изменить, но можно изменить высоту родительского блока. А iframe сделать height: 100%
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Добрый деньПодскажите в сторону какого фраемворка или стэка технологий стоит смотреть
Вот станица самого плагина проблема в том что запросом отправляется только картинка, а появилась необходимость отправлять дополнительные...
Есть iframe, генерирующийся динамическиЧто в нём - я не знаю, но доступ к нему через contentWindow есть