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

Правильный редирект Home page из VFP-based wide component

Случилась глупая история.

есть VF страница, которая используется как wide component на домашней странице. На VF странице есть гиперссылки - кликаешь на них и ВСЯ домашняя страница перегружается, что и требуется. И вся эта благодать длится пока ты не понимаешь, что редирект домашней страницы работает только пока у твоего юзера включен Дев Мод (для редактирования страниц). А у нормальных юзеров при клике на гиперссылку в компоненте происходит редирект в пределах wide component-ного iFrame...

Как правильно сделать редирект Home page из VFP-based wide component?

Случилась глупая история.

есть VF страница, которая используется как wide component на домашней странице. На VF странице есть гиперссылки - кликаешь на них и ВСЯ домашняя страница перегружается, что и требуется. И вся эта благодать длится пока ты не понимаешь, что редирект домашней страницы работает только пока у твоего юзера включен Дев Мод (для редактирования страниц). А у нормальных юзеров при клике на гиперссылку в компоненте происходит редирект в пределах wide component-ного  iFrame... 

Как правильно сделать редирект Home page из VFP-based wide component?

Почему-то кажется что ответ "никак", в лучшем случае открывать в новом окне или табике.

Почему-то кажется что ответ "никак", в лучшем случае открывать в новом окне или табике.

вроде получилось через onclick="parent.location.href ='...'

вот тут:
https://success.salesforce.com/answers?id=90630000000i8T8AAI

решение-то простое, но проблема "внезапная"

вроде получилось через onclick="parent.location.href ='...'

вот тут:
https://success.salesforce.com/answers?id=90630000000i8T8AAI

решение-то простое, но проблема "внезапная"

Den Brown
вроде получилось через onclick="parent.location.href ='...'

вот тут:
https://success.salesforce.com/answers?id=90630000000i8T8AAI

решение-то простое, но проблема "внезапная"

так же можно использовать window.top если память не изменяет

[quote="Den Brown"]вроде получилось через onclick="parent.location.href ='...'

вот тут:
https://success.salesforce.com/answers?id=90630000000i8T8AAI

решение-то простое, но проблема "внезапная"[/quote]

так же можно использовать window.top если память не изменяет

Den Brown
вроде получилось через onclick="parent.location.href ='...'

а кодик то нужно дописать, так как редирект теперь не работает для этой страницы, если она используется вне Домашней страницы. Причем опять проблема видна только если отключен Дев Мод!!!

нужно в коде чекать, есть ли там вообще "parent", ну и дальше действовать по результату...

[quote="Den Brown"]вроде получилось через onclick="parent.location.href ='...'[/quote]

а кодик то нужно дописать, так как редирект теперь не работает для этой страницы, если она используется вне Домашней страницы. Причем опять проблема видна только если отключен Дев Мод!!!

нужно в коде чекать, есть ли там вообще "parent", ну и дальше действовать по результату...

Den Brown
нужно в коде чекать, есть ли там вообще "parent", ну и дальше действовать по результату...

Правильно рассуждаешь)

[quote="Den Brown"]нужно в коде чекать, есть ли там вообще "parent", ну и дальше действовать по результату...[/quote]
Правильно рассуждаешь)

wilder
Den Brown
вроде получилось через onclick="parent.location.href ='...'

вот тут:
https://success.salesforce.com/answers?id=90630000000i8T8AAI

решение-то простое, но проблема "внезапная"

так же можно использовать window.top если память не изменяет

+1 причем этот вариант должен работать даже если ифрейма нет.

[quote="wilder"][quote="Den Brown"]вроде получилось через onclick="parent.location.href ='...'

вот тут:
https://success.salesforce.com/answers?id=90630000000i8T8AAI

решение-то простое, но проблема "внезапная"[/quote]

так же можно использовать window.top если память не изменяет[/quote]

+1 причем этот вариант должен работать даже если ифрейма нет.

Хм, чей-то подобрел SF, раньше эти страницы на разных доменах лежали и пошурудить из iframe в родительском окне через JS не представлялось возможным. Кстати, по-моему эта проблема до сих пор есть если VFP component из managed package.

Хм, чей-то подобрел SF, раньше эти страницы на разных доменах лежали и пошурудить из iframe в родительском окне через JS не представлялось возможным. Кстати, по-моему эта проблема до сих пор есть если VFP component из managed package.

ilya leshchuk
JS не представлялось возможным

Ошибаешься. Всегда был доступ к window.top.location из iframe

[quote="ilya leshchuk"]JS не представлялось возможным[/quote]

Ошибаешься. Всегда был доступ к window.top.location из iframe

Странно

http://salesforce.stackexchange.com/questions/38918/end-of-javascript-sidebar-workarounds

You can include JavaScript in your Visualforce page, but because the component is rendered in an iframe on the home page layout, the JavaScript can’t interact with the page that contains the component.

Возможно к какой-то доле parent окна из iframe всегда есть доступ, даже с разных доменов, не гуру JS.

Странно :)

http://salesforce.stackexchange.com/questions/38918/end-of-javascript-sidebar-workarounds

[i]You can include JavaScript in your Visualforce page, but because the component is rendered in an iframe on the home page layout, the JavaScript can’t interact with the page that contains the component.[/i]

Возможно к какой-то доле parent окна из iframe всегда есть доступ, даже с разных доменов, не гуру JS.

ilya leshchuk
Возможно к какой-то доле parent окна из iframe всегда есть доступ, даже с разных доменов, не гуру JS.

Ты прав. Доступ только к window.top.location из iframe. Но этого вполне достаточно что бы перегрузить страницу.

[quote="ilya leshchuk"]Возможно к какой-то доле parent окна из iframe всегда есть доступ, даже с разных доменов, не гуру JS.[/quote]

Ты прав. Доступ только к window.top.location из iframe. Но этого вполне достаточно что бы перегрузить страницу.

да, вот так работает

<a onclick="window.top.location = '/{!r.url[0]}'" style="cursor: pointer" >...</a>

и внутри Домашней страницы и для отдельно используемой ВФ страницы, и независимо от ДевМода.

да, вот так работает
[code]<a onclick="window.top.location = '/{!r.url[0]}'" style="cursor: pointer" >...</a>[/code]
и внутри Домашней страницы и для отдельно используемой ВФ страницы, и независимо от ДевМода.