Подтвердить что ты не робот

Является ли пустой iframe src действительным?

Я хочу, чтобы iframe изначально имел src как пустой, а затем после загрузки страницы; вызовите функцию JS, а затем установите значение src на фактическое значение.

Итак, <iframe src="#" /> valid ИЛИ мне нужно использовать что-то вроде javascript:; и т.д.

4b9b3361

Ответ 1

just <iframe src='about:blank'></iframe>

Ответ 2

Рабочий проект HTML 5, раздел 4.8.2, говорит (внимание мое):

Атрибут src дает адрес страница, в которой вложенные просмотры контекст должен содержать. Атрибут, если он присутствует, должен быть действительным непустым URL, потенциально окруженный пробелами.

Согласно RFC 3986, действительные URL-адреса должны начинаться с имени схемы , а относительные ссылки могут состоять не только в фрагменте .

Следовательно, # не является допустимым URL-адресом и не должен использоваться как значение атрибута src.

Вместо этого используйте about:blank.

Ответ 3

Нет, неверно указывать пустой iframe src.

Вы должны использовать <iframe src="about:blank" />.

# является ссылкой на привязку к текущей странице (или часто используется как схема маршрутизации при работе с запросами AJAX). Использование его в качестве источника iframe было бы бессмысленным, поскольку iframe не ссылается на контент на текущей странице и не используется с запросами AJAX.

about:blank - это стандарт кросс-браузера, чтобы отобразить пустой документ.

Обновление 8 июня 2012 года:

Кажется, что 'living' spec больше не отображает iframe недействительным, если отсутствует атрибут src:

Если, когда элемент создан, атрибут srcdoc не установлен и атрибут src также не установлен или не установлен, но его значение не может быть разрешенным, контекст просмотра останется на начальном about: blank page.

Если оба этих атрибута не установлены, контекст просмотра по умолчанию будет about:blank. Чтобы обеспечить надлежащую обратную совместимость, рекомендуется быть подробным и на данный момент предоставить URL about:blank.

Ответ 4

Похоже, вы также можете полностью исключить src:

http://dev.w3.org/html5/spec/Overview.html#the-iframe-element

Если при создании элемента атрибут srcdoc не установлен, и атрибут src либо также не установлен, либо установлен, но его значение не может быть разрешенным, контекст просмотра останется на начальном about: blank page.

Ответ 5

Вы можете использовать about:blank в атрибуте src (как ранее упоминалось ранее ariel), иначе он выкинул бы ошибку при работе с защищенной страницы.

Защищенная страница https выдаст ошибку, возможно, не защищенную информацию на защищенном веб-сайте.

Ответ 6

Вы можете попробовать добавить iframe через Javascript, поэтому вам не нужно будет иметь пустой текст в HTML:

(пример jQuery)

<script type="text/javascript">
$().ready(function() {
    $("<iframe />").attr("src", "http://www.bbc.co.uk/").appendTo("body");
});
</script>

Добавление iframe с Javascript позволяет изящное ухудшение - пользователи без Javascript не будут видеть пустой iframe.

Ответ 7

Как часть стандарта схемы URI, примерно: blank - это, вероятно, лучший вариант, так как он имеет очень хорошую поддержку браузера.

about: blank Возвращает пустой документ HTML с типом носителя text/html и кодировка символов UTF-8. Это широко используется для загрузки пустые страницы в контексты просмотра, такие как iframes внутри HTML, которые затем могут быть изменены сценариями. Здесь вы можете увидеть