kirupabshankar Ответов: 3

Как открыть HTML-страницу, щелкнув ссылку в одном iframe на другой


Код приведен ниже, целевой атрибут не работает, любая помощь будет полезна

mainpage.html
<html>
<head>
<title>Main Frame</title>
</head>
<body align ="center">
<iframe src="buttons.html" style="border:2px solid red;  height:600px;width:300px; name="btn_frame"></iframe>
<iframe src="display.html" style="border:2px solid red;  height:600px;width:600px; name="display"></iframe>
</body>
</html>


button.html
<html>
<head>
<title>Options Page</title>
</head>
<body bgcolor = "cyan">
<p>
<a href="addmembers.html" target="display">Add Members</a><br><br><br>
</p>
</body>
</html>


Что я уже пробовал:

Я попытался изменить имена целевых объектов, а также проверил синтаксис.

3 Ответов

Рейтинг:
2

kirupabshankar

Я сам нашел решение, спасибо

F-ES Sitecore
для ваших комментариев. Реальное решение заключается в том, что мы должны использовать тег "id" вместо "name", и это прекрасно сработало. Может быть, это будет полезно для начинающих, таких как я.


Richard Deeming

Этот пример из 1998 года использует name, нет id, и он все еще работает отлично:
Iframes3 - открытие ссылки в одном iframe в другом iframe[^]

Рейтинг:
1

W∴ Balboos, GHB

Вы должны понимать, что "iframe" фактически является отдельной страницей от страницы, на которой он находится - он может даже иметь элементы с теми же идентификаторами, что и родительская страница, и они не будут перепутаны.

Теперь - если у вас есть два iframe на одной странице - для нормального взаимодействия они ничего не знают друг о друге. Что у них есть общего, так это один и тот же родитель.

Итак, чтобы один кадр соприкоснулся с другим, вы должны пройти через родителя. От родителя вы можете, например, изменить источник другого iframe.

Вот ссылка для вас - чтобы дать вам представление, если я не был достаточно ясен:
Получение URL - адреса родителя iframe- человека, который кодирует[^]


MadMyche

Важно отметить, что если веб-страница и iframes внутри нее происходят из нескольких доменов, то могут возникнуть некоторые конфигурации безопасности, которые необходимо будет скорректировать ( Кросс-Фреймовый сценарий)

Richard Deeming

Вот пример из 1998 года (!), который показывает, что вам не нужно делать ничего особенного:
Iframes3 - открытие ссылки в одном iframe в другом iframe[^]

С помощью target на <a> в одном iframe автоматически откроется эта ссылка в родственном iframe, если имя задано правильно. Вам не нужно делать ничего особенного, чтобы пройти через родителя. :)

Рейтинг:
0

F-ES Sitecore

Вам нужно дать iframe "имя" и использовать это имя в теге " target"

Как отобразить веб - страницу внутри HTML iFrame- учебник Republic[^]


kirupabshankar

Я дал имя как "дисплей" для iframe и назначил то же самое для цели, но все еще не использовал никакой идеи?

F-ES Sitecore

Если ваш html-код точно такой же, как и опубликованный, то он недействителен, вам не хватает заключительной цитаты в атрибуте "стиль"

&ЛТ;элемент iframe в src="buttons.html" стиль="границы:2 пикселя твердые красный; высота:600px;ширина:300 пикселей; имя="btn_frame"&ГТ;&ЛТ;/iframe и GT и GT;

должно быть

&ЛТ;элемент iframe в src="buttons.html" стиль="границы:2 пикселя твердые красный; высота:600px;ширина:300 пикселей;" название="btn_frame"&ГТ;&ЛТ;/iframe и GT и GT;

kirupabshankar

Я изменил то же самое, но та же проблема сохраняется.

F-ES Sitecore

Ну, для меня это нормально работает. Попробуйте демо-версию на w3schools, если это не сработает, это проблема в вашем браузере, если она действительно работает, то в вашем коде все еще есть какая-то другая проблема, возможно, код, который вы еще не опубликовали.

https://www.w3schools.com/html/html_iframe.asp