В приложении, над которым я работаю, есть страница, на которой есть несколько iframe, которые содержат предварительный просмотр страниц в проекте пользователя, организованных по разделам. Пользователь может нажать, чтобы добавить новую страницу и ввести подробную информацию об этой странице.
Проблема в том, что если он использует кнопку «Назад» браузера, чтобы вернуться на страницу со всеми iframe, страница, которую он только что добавил, отображает неправильное содержимое. Я вижу это в Firefox и Safari. В Chrome при ответном ударе новый iframe, похоже, даже не добавляется до обновления.
Я воссоздал эту проблему как отдельный простой проект на https://iframeissue.infinityfreeapp.com/ — если вы нажмете кнопку добавления страницы в первый раздел, присвоите ей уникальное имя, а затем нажмите кнопку «Назад», вы увидите несоответствие между URL-адресом iframe в атрибуте src и URL-адресом загруженной страницы. Для этого воссоздания он просто показывает URL-адрес, который iframe загружает на главной странице (который можно проверить с помощью элемента проверки), а страница, загруженная в iframe, просто отображает $_SERVER['REQUEST_URI']
Я не верю, что есть проблема с каким-либо кодом (хотя я надеюсь, что я могу добавить что-то, что решит проблему), поскольку это очень просто, и проблема возникает вне кода. Вы можете просмотреть исходный код каждого используемого файла по адресу https://iframeissue.infinityfreeapp.com/viewsource.php. Я также включил код для каждого файла в конце этого поста.
Приложение основано на PHP, но я подозреваю, что это не проблема PHP.
Я понятия не имею, почему это происходит или как это предотвратить, и буду признателен за любую помощь!
Код:
index.php
IFrame Issue
Add a page to a section, then hit back. After you hit back, you will notice that the URI of the iframe does not match
the URI of the page it loads. If you refresh, it will be correct.
A new set of pages is created per PHP session so that multiple people looking at this issue don't affect each other.
View Source Code for all files
add.php
Add
index.js
function addPage(section) {
const title=prompt("Please enter a name for the page");
location.href="add.php?section="+encodeURIComponent(section)+"&title="+encodeURIComponent(title);
}
style.css
.sectionPages {
display: flex;
gap: 20px; }
.page {
background: #fdfdfd;
padding: 10px;
border: 1px solid #616161;
border-radius: 10px;
display: flex;
flex-direction: column;
gap: 10px; }
pages.json (копируется для каждого нового сеанса)
{"section 1":["section 1, page 1","section 1, page 2","section 1, page 3"],"section 2":["section 2, page 1"],"section 3":["section 3, page 1"]}
Подробнее здесь: https://stackoverflow.com/questions/798 ... bute-after
Недавно добавленный iframe не загружает URI, указанный в атрибуте src, после нажатия кнопки возврата браузера. ⇐ Html
Программисты Html
1769764200
Anonymous
В приложении, над которым я работаю, есть страница, на которой есть несколько iframe, которые содержат предварительный просмотр страниц в проекте пользователя, организованных по разделам. Пользователь может нажать, чтобы добавить новую страницу и ввести подробную информацию об этой странице.
Проблема в том, что если он использует кнопку «Назад» браузера, чтобы вернуться на страницу со всеми iframe, страница, которую он только что добавил, отображает неправильное содержимое. Я вижу это в Firefox и Safari. В Chrome при ответном ударе новый iframe, похоже, даже не добавляется до обновления.
Я воссоздал эту проблему как отдельный простой проект на https://iframeissue.infinityfreeapp.com/ — если вы нажмете кнопку добавления страницы в первый раздел, присвоите ей уникальное имя, а затем нажмите кнопку «Назад», вы увидите несоответствие между URL-адресом iframe в атрибуте src и URL-адресом загруженной страницы. Для этого воссоздания он просто показывает URL-адрес, который iframe загружает на главной странице (который можно проверить с помощью элемента проверки), а страница, загруженная в iframe, просто отображает $_SERVER['REQUEST_URI']
Я не верю, что есть проблема с каким-либо кодом (хотя я надеюсь, что я могу добавить что-то, что решит проблему), поскольку это очень просто, и проблема возникает вне кода. Вы можете просмотреть исходный код каждого используемого файла по адресу https://iframeissue.infinityfreeapp.com/viewsource.php. Я также включил код для каждого файла в конце этого поста.
Приложение основано на PHP, но я подозреваю, что это не проблема PHP.
Я понятия не имею, почему это происходит или как это предотвратить, и буду признателен за любую помощь!
Код:
index.php
IFrame Issue
Add a page to a section, then hit back. After you hit back, you will notice that the URI of the iframe does not match
the URI of the page it loads. If you refresh, it will be correct.
A new set of pages is created per PHP session so that multiple people looking at this issue don't affect each other.
[url=viewsource.php]View Source Code for all files[/url]
add.php
Add
index.js
function addPage(section) {
const title=prompt("Please enter a name for the page");
location.href="add.php?section="+encodeURIComponent(section)+"&title="+encodeURIComponent(title);
}
style.css
.sectionPages {
display: flex;
gap: 20px; }
.page {
background: #fdfdfd;
padding: 10px;
border: 1px solid #616161;
border-radius: 10px;
display: flex;
flex-direction: column;
gap: 10px; }
pages.json (копируется для каждого нового сеанса)
{"section 1":["section 1, page 1","section 1, page 2","section 1, page 3"],"section 2":["section 2, page 1"],"section 3":["section 3, page 1"]}
Подробнее здесь: [url]https://stackoverflow.com/questions/79879023/a-newly-added-iframe-is-not-loading-the-uri-specified-in-the-src-attribute-after[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия