Изменение программно сгенерированной ссылки для выхода за пределы своего iframe

У меня есть вопрос относительно ссылок, которые создаются с помощью события onclick. У меня есть кнопка виджета чата на этой странице, https://library.kutztown.edu/ld.php?content_id=41874337, которая перенаправляет на URL-адрес, который я могу установить в другом месте. Все, что я могу установить, это URL, у меня нет доступа к тегу привязки, который создает виджет.

Проблема в том, что я загружаю этот виджет в iframe, на этой странице https://library.kutztown.edu/zack_testing и когда пользователь нажимает кнопку Offline, он открывает ссылку внутри iframe.

Я рассмотрел различные решения, опубликованные здесь, но все они, кажется, включают изменение якоря или добавление скрипта для изменения ссылок на странице. Когда я смотрю на код в load_chat.php, я не вижу никакой ссылки. Я вижу свойство offline_url объекта с именем options, но по какой-то причине не могу получить к нему доступ.

Виджет создан с использованием Libguides, это CMS на основе библиотеки, и я не могу напрямую изменить их код. Мне больше всего интересно, есть ли у кого-нибудь представление о том, как я могу манипулировать их событием onclick, чтобы открыть ссылку в новой вкладке, а не внутри iframe. Спасибо!

1 ответ

Вы могли бы использовать window.parent.location.href сделать что-то вроде

<a href="javascript:window.parent.location.href='https://www.google.com'">Click Me</a>

Обратите внимание, что он не будет работать внутри stackru, так как их фрагмент кода находится в изолированном фрейме iframe, но он должен работать на вашем.

Чтобы открыть новую вкладку, вы можете сделать то же самое (установите для атрибута href значение javascript: плюс код, который вы хотите запустить), и используйте window.open

Другие вопросы по тегам