не удается закрыть jquery iframe Thickbox при странице https - PullRequest
1 голос
/ 13 апреля 2010

У меня есть jQuery thickbox(TB_iframe=true), который показывает страницу https в оверлее на основе iframe.

родительская страница - http, а оверлейная страница - https. если я использую

self.parent.tb_remove() 

Это не работает и дает мне

Отказано в выдаче разрешения <https://www.abc.com> на приобретение недвижимости Window.tb_remove из <http://www.abc.com>.

Любое решение. Я хочу иметь возможность закрыть thikbox независимо от того, является ли он https или http-страницей, отображаемой в iframe.

Ответы [ 4 ]

1 голос
/ 12 сентября 2011

Вам нужен iFrame для общения. Тем не менее, вы захотите, чтобы он был заблокирован очень сильно, чтобы предотвратить XSS.

Создайте вторую страницу, скажем, http://www.abc.com/thickboxClose. Эта страница содержит javascript, который закрывает толстую коробку. Например, window.parent.parent.tb_remove ().

Затем, чтобы закрыть свой фрейм, вы создаете скрытый фрейм, указывающий на эту страницу. Поскольку он находится в том же домене, он может связаться с родителем.

0 голосов
/ 27 июля 2012

Попробуйте это

Из фрейма

<a href="http://www.abc.com" target="_parent">Close</a>

Попытка сделать это с помощью любого javsacript будет просто взломом

0 голосов
/ 15 апреля 2010

Как сказал Даниил, вам следует использовать относительный URL. Причина этого заключается в том, что вы должны читать содержимое javascript только на том же уровне «доверия» (ssl), на котором вы сейчас находитесь.

Вы бы не хотели, чтобы сайт HTTPS вашего банка делал ajax-запрос к веб-сервису, отличному от https, не так ли?

0 голосов
/ 15 апреля 2010

используйте реляционный URL-адрес, например ../page.html вместо http://domain.com/page.htm в качестве ссылки. убедитесь, что страница, открывающая лайтфреймленый ящик, находится в том же домене, что и страница, отображаемая в светлом фрейме.

я написал функцию javascript для создания и открытия легкой рамки, похожей на Thickbox, возможно, это поможет jLightFrame

...