#javascript #html #css #ios
#javascript #HTML #css #iOS
Вопрос:
Я очень мало знаю о HTML5 и Javascript, однако то, что я использовал для работы с ios13. Предыстория в том, что у меня есть скрипт на Python, который анализирует набор данных, а затем записывает html-файл для сохранения в виде отчета. HTML-файл содержит Javascript и CSS, а не ссылается на внешние файлы .js и .css. Изображения кодируются как base64, чтобы их можно было встроить в HTML. Это позволяет использовать один единственный файл, который можно сохранить, отправить по электронной почте и т. Д.
До ios14, когда кто-то отправлял мне по электронной почте выходной html-код, я мог открыть его на своем iphone и открыть различные разделы (использует javascript). Однако, начиная с ios14, я больше не могу открывать разделы, поэтому предположим, что ios14 блокирует работу javascript в предварительном просмотре html. Если я помещаю один из этих HTML-файлов на веб-сервер и перехожу к ним через Safari, то javascript работает нормально. Ниже используется javascript, я взял функцию из примеров IRC школ W3C.
<script>
<var coll = document.getElementsByClassName("collapsible");
var i;
for (i = 0; i < coll.length; i ) {
coll[i].addEventListener("click", function() {
this.classList.toggle("active");
var content = this.nextElementSibling;
if (content.style.maxHeight){
content.style.maxHeight = null;
} else {
content.style.maxHeight = content.scrollHeight "px";
}
});
}
function changeImage(element) {
document.getElementById('imageReplace').src = element;
}
</script>
CSS, используемый для сворачиваемых разделов, является:
.collapsible {
cursor: pointer;
border: none;
text-align: left;
outline: none;
}
.collapsible:hover {
background-color: #45484b;
}
.collapsible:after {
content: '02B';
float: right;
}
.active:after {
content: "2212";
}
.content {
max-height: 0;
overflow: hidden;
transition: max-height 0.2s ease-out;
}
Отдельные сворачиваемые разделы создаются с использованием следующего html:
<section id="section_name">
<h2 class="collapsible">Section Header</h2>
<div class="content">
All HTML that i want to appear and disappear by clicking on H2
</div>
</section>
У меня нет учетной записи разработчика Apple, поэтому я не уверен, были ли какие-либо изменения в безопасности в ios14 и каким будет обходной путь.
Комментарии:
1. Когда вы говорите, что раньше могли открывать «это» на своем телефоне, вы имеете в виду, что могли полностью просматривать содержимое письма в своем почтовом клиенте или используете что-то еще для его просмотра?
2. Извините за очень поздний ответ. Да, проблема заключалась в том, что до ios 14, когда я получал HTML-файл в виде вложения электронной почты, я мог щелкнуть по нему, и javascript работал бы так, что я мог нажимать на различные заголовки H2, и javascript открывал складной раздел. В ios14 я все еще могу открыть вложение HTML, но javascript, похоже, не разрешен для запуска, я нажимаю на заголовки H2, но раздел не открывается.