2012-06-14 2 views
2

Я создаю букмарклет, который выполняет функцию, подобную функции Amazon, которая добавляет что-либо в ваш буклет буклета (http://www.amazon.com/wishlist/get-button). Я пытаюсь сделать кнопку отмены, но я не могу заставить ее работать.Закройте букмарклет изнутри

Как я могу сделать кнопку отмены, которая отобразит внутри iframe букмарклета, и это закроет iframe?

Я попытался использовать: window.close изнутри iframe, чтобы сделать это, но это не сработало. Я также пробовал использовать parent.document.body.removeChild(parent.document.getElementById('iframe')), но у меня возникают проблемы с перекрестными доменами. Есть идеи?

+0

Если мой ответ был правильным решением вашей проблемы, пожалуйста, примите его, нажав галочку слева от нее. –

ответ

0

Вам нужно будет использовать window.postMessage, чтобы сообщить функции в родительском окне, чтобы закрыть ее.

4

Оберните iframe в div. Поместите кнопку отмены внутри div, но вне iframe, чтобы кнопка отмены фактически находилась на родительской странице. Это позволяет избежать проблемы с перекрестным происхождением.

Есть способы обойти проблемы креста, но это, безусловно, самое простое решение вашей конкретной проблемы.

+0

Простой и элегантный! – bergie3000