Задать вопрос
Ответы пользователя по тегу HTML
  • Имеет ли смысл размещать медиа на .onion-сайте в даркнэте, либо можно ссылаться и на лайтвеб?

    Vamp
    @Vamp
    Вы же зачем-то решили переместить основной сайт в onion? Вот те же самые причины применимы и к поддомену.

    А так, если вы оставите media в интернете, то для доступа к нему будет требоваться использование tor exit ноды, которых мало и они часто бывают перегружены. Поэтому может случиться так, что ваш сайт загрузится быстро, а вот медиа контент медленно и печально. Перенести media в tor стоит хотя бы для избавления от необходимости пересекать границу tor-интернет, тем самым ускорив загрузку.
    Ответ написан
    1 комментарий
  • Как получить доступ к объекту js который выполняется в iframe?

    Vamp
    @Vamp
    document.getElementById('frameId').contentWindow.yourObject

    В данном примере получается доступ к объекту yourObject внутри iframe с id=frameId.

    Но это сработает только если сама страница и iframe в ней были загружены с одного домена.

    В остальных случаях доступ будет запрещен из-за same origin policy.
    Ответ написан
    1 комментарий
  • Кэширование редиректа?

    Vamp
    @Vamp
    Все заголовки относятся исключительно к своему ответу. После получения редиректа барузер сгенерирует новый отдельный запрос к ресурсу /my/file.svg и сервер вместе с ним вернёт свои заголовки, относящиеся только к этому ресурсу и в этих заголовках кеширующей директивы не будет.

    Так что в вашем случае будет закеширован редирект. То есть браузер запомнит что урл "file.php?path=/my/file.svg" редиректится на "/my/file.svg" (в принципе, он это запомнит и без дополнительного Cache-Control) и если встретит где-то на странице первый урл, то отправит запрос сразу на второй урл, минуя запрос на первый.

    Вам нужно отдавать контент картинки непосредственно самим скриптом:
    header('Content-Type: image/svg+xml');
    // public явным образом разрешает кешировать контент не только на
    // устройстве пользователя, но и на любом промежуточном кеширующем http сервере,
    // если такой будет стоять между вами и пользователем
    // например, провайдерский или в офисах
    header('Cache-Control: public, max-age=604800');
    
    // ОСТОРОЖНО!!! Сначала произведите валидацию
    // параметра path перед передачей его в readfile()!
    readfile($_GET['path']);

    Это не должно быть напряжно по ресурсам. Всё-таки кешируется на неделю.
    Ответ написан
    Комментировать