Ответ 1
just <iframe src='about:blank'></iframe>
Я хочу, чтобы iframe изначально имел src
как пустой, а затем после загрузки страницы; вызовите функцию JS, а затем установите значение src
на фактическое значение.
Итак, <iframe src="#" />
valid ИЛИ мне нужно использовать что-то вроде javascript:;
и т.д.
just <iframe src='about:blank'></iframe>
Рабочий проект HTML 5, раздел 4.8.2, говорит (внимание мое):
Атрибут
src
дает адрес страница, в которой вложенные просмотры контекст должен содержать. Атрибут, если он присутствует, должен быть действительным непустым URL, потенциально окруженный пробелами.
Согласно RFC 3986, действительные URL-адреса должны начинаться с имени схемы , а относительные ссылки могут состоять не только в фрагменте .
Следовательно, #
не является допустимым URL-адресом и не должен использоваться как значение атрибута src
.
Вместо этого используйте about:blank.
Нет, неверно указывать пустой 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
.
Похоже, вы также можете полностью исключить src:
http://dev.w3.org/html5/spec/Overview.html#the-iframe-element
Если при создании элемента атрибут srcdoc не установлен, и атрибут src либо также не установлен, либо установлен, но его значение не может быть разрешенным, контекст просмотра останется на начальном about: blank page.
Вы можете использовать about:blank
в атрибуте src
(как ранее упоминалось ранее ariel), иначе он выкинул бы ошибку при работе с защищенной страницы.
Защищенная страница https
выдаст ошибку, возможно, не защищенную информацию на защищенном веб-сайте.
Вы можете попробовать добавить 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.
Как часть стандарта схемы URI, примерно: blank - это, вероятно, лучший вариант, так как он имеет очень хорошую поддержку браузера.
about: blank Возвращает пустой документ HTML с типом носителя text/html и кодировка символов UTF-8. Это широко используется для загрузки пустые страницы в контексты просмотра, такие как iframes внутри HTML, которые затем могут быть изменены сценариями. Здесь вы можете увидеть