Регистрация  |  Вход

Автоматическая подстройка высоты для VF-страничек выведенных на Homescreen

Уважаемые форумчане, может кто сталкивался с задачей автоматического задания высоты VF вставок страницы Homescreen?

При создании homescreen компонента высота задается константой в пикселях. В интернете были найдены несколько способов в настоящий момент не работающие, которые подгоняли высоту iframe компонентов при загрузке страницы.

1 способ - разместить на homescreen компонент с js, который подгонит высоту всех iframe на странице после загрузки страницы. Этот способ не сработал, т.к. скрипт просто отображается в виде текста и не выполняется.
2 способ - разместить в загружаемой vf странице похожий на 1-ый скрипт, который будет обращаться к родительскому окну и переназначать высоту фреймов. Данный способ не работает, т.к. СФ сделала загрузку страницы homescreen из одного домена, а vf-страницы из другого и срабатывает защита браузера "SecurityError: Blocked a frame with origin "https://c.cs80.visual.force.com" from accessing a frame with origin "https://cs80.salesforce.com". Protocols, domains, and ports must match". Активация CORS и задание whitelist в данной ситуации не помогло.

Есть ли еще способы решить данную проблему? или сейчас это вообще никак нельзя сделать?

Уважаемые форумчане, может кто сталкивался с задачей автоматического задания высоты VF вставок страницы Homescreen? 

При создании homescreen компонента высота задается константой в пикселях. В интернете были найдены несколько способов в настоящий момент не работающие, которые подгоняли высоту iframe компонентов при загрузке страницы.

1 способ - разместить на  homescreen компонент с js, который подгонит высоту всех iframe на странице после загрузки страницы. Этот способ не сработал, т.к. скрипт просто отображается в виде текста и не выполняется.
2 способ - разместить в загружаемой vf странице похожий на 1-ый скрипт, который будет обращаться к родительскому окну и переназначать высоту фреймов. Данный способ не работает, т.к. СФ сделала загрузку страницы homescreen из одного домена, а vf-страницы из другого и срабатывает защита браузера "SecurityError: Blocked a frame with origin "https://c.cs80.visual.force.com" from accessing a frame with origin "https://cs80.salesforce.com". Protocols, domains, and ports must match". Активация CORS и задание whitelist в данной ситуации не помогло.

Есть ли еще способы решить данную проблему? или сейчас это вообще никак нельзя сделать? 

Есть вариант через sidebar component. Туда можно засунуть js и он будет запускаться. Единственная проблема что будет запускаться везде где есть sidebar, поэтому надо отлавливать именно home page.

Есть вариант через sidebar component. Туда можно засунуть js и он будет запускаться. Единственная проблема что будет запускаться везде где есть sidebar, поэтому надо отлавливать именно home page.

Dmitry Kurd
2 способ - разместить в загружаемой vf странице похожий на 1-ый скрипт, который будет обращаться к родительскому окну и переназначать высоту фреймов.

Этот способ чудесно работает. Просто его нужно немного доработать.

[quote="Dmitry Kurd"]2 способ - разместить в загружаемой vf странице похожий на 1-ый скрипт, который будет обращаться к родительскому окну и переназначать высоту фреймов. [/quote]

Этот способ чудесно работает. Просто его нужно немного доработать.

wilder
Этот способ чудесно работает. Просто его нужно немного доработать.

Помню, помню Видел этот твой способ через static resources. Чуть весь неокрепший молодой мозг себе не сломал

[quote="wilder"]Этот способ чудесно работает. Просто его нужно немного доработать.[/quote]
Помню, помню :) Видел этот твой способ через static resources. Чуть весь неокрепший молодой мозг себе не сломал :D