Изменение программно сгенерированной ссылки для выхода за пределы своего фрейма - PullRequest
0 голосов
/ 09 мая 2018

У меня есть вопрос, касающийся ссылок, которые создаются с помощью события 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 Ответ

0 голосов
/ 10 мая 2018

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...