Уважаемые форумчане, может кто сталкивался с задачей автоматического задания высоты 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.
Этот способ чудесно работает. Просто его нужно немного доработать.
[quote="Dmitry Kurd"]2 способ - разместить в загружаемой vf странице похожий на 1-ый скрипт, который будет обращаться к родительскому окну и переназначать высоту фреймов. [/quote] Этот способ чудесно работает. Просто его нужно немного доработать.
[quote="wilder"]Этот способ чудесно работает. Просто его нужно немного доработать.[/quote] Помню, помню :) Видел этот твой способ через static resources. Чуть весь неокрепший молодой мозг себе не сломал :D