program tip

빈 iframe src가 유효합니까?

radiobox 2020. 11. 13. 08:01
반응형

빈 iframe src가 유효합니까?


iframe이 처음에는 src비어 있고 페이지가로드되면 iframe을 원합니다 . JS 함수를 호출 한 다음 src값을 실제 값으로 설정합니다 .

그래서 <iframe src="#" />유효 javascript:;하거나 등 다른 것을 사용해야합니까?


다만 <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은 현재 페이지의 콘텐츠를 참조하지 않고 AJAX 요청과 함께 사용되지 않기 때문에 iframe의 소스로 사용하는 것은 무의미합니다.

about:blankA는 크로스 브라우저 표준 빈 문서를 표시합니다.

2012 년 6 월 8 일 업데이트 :

속성이 누락 된 경우 '살아있는'사양이 더 이상 iframe을 유효하지 않게 렌더링하지 않는 것 같습니다 src.

요소가 생성 될 때 srcdoc 속성이 설정되지 않고 src 속성도 설정되거나 설정되지 않았지만 해당 값을 확인할 수없는 경우 브라우징 컨텍스트는 초기 about : blank 페이지에 유지됩니다.

그러나 이러한 속성이 모두 설정되지 않은 경우 찾아보기 컨텍스트는 기본적으로로 설정됩니다 about:blank. 적절한 이전 버전과의 호환성을 제공하려면 자세한 정보를 제공하고 현재로서는 about:blankURL을 제공하는 것이 좋습니다 .


src를 완전히 생략 할 수도 있습니다.

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

요소가 생성 될 때 srcdoc 속성이 설정되지 않고 src 속성 도 설정 되거나 설정되지 않았지만 해당 값을 확인할 수없는 경우 브라우징 컨텍스트는 초기 about : blank 페이지에 유지됩니다.


속성 about:blank에서 사용할 수 있습니다 src(앞서 ariel에서 언급했듯이). 그렇지 않으면 보안 페이지에서 제공 할 때 오류가 발생합니다.

보안 페이지 https는 보안 웹 사이트에서 보안되지 않은 데이터의 오류를 발생시킵니다.


자바 스크립트를 통해 iframe을 추가 할 수 있으므로 HTML에 공백이 없어도됩니다.

(jQuery 예)

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

자바 스크립트로 iframe을 추가하면 정상적인 성능 저하가 허용됩니다. 자바 스크립트가없는 사용자에게는 빈 iframe이 표시되지 않습니다.


about URI 체계 표준의 일부로 about : blank는 브라우저 지원이 매우 우수하기 때문에 아마도 최상의 옵션 일 것입니다.

about : blank 미디어 유형이 text / html이고 문자 인코딩이 UTF-8 인 빈 HTML 문서를 반환합니다. 이것은 HTML 내의 iframe과 같은 브라우징 컨텍스트에 빈 페이지를로드하는 데 널리 사용되며 스크립트에 의해 수정 될 수 있습니다. 여기에서 더 볼 수 있습니다.


당신은 사용하지 않을 경우 about:blank당신이로 자바 스크립트를 사용할 수 있습니다 src당신을 위해 iframe같은 다음의 예 :

<iframe name="TV" id="tv" style="width:100%; background: #800000" src="javascript:document.write('<h3>Results Window</h3>')"></iframe>

위의 예제는 iframe간단한 메시지가있는 적갈색 배경을 초기화 합니다 <h3>Results Window</h3>. 그러나 링크의 대상은 iframe name속성 (예 : 예)과 같아야합니다 TV.


기록을 위해

다음 예제 (Firefox 58이지만 모든 브라우저에있을 수 있음)를 예로 들어 보겠습니다.

<link href="css.css" rel="stylesheet" type="text/css"/>
<iframe src='about:blank'></iframe>

Iframe은 CSS 전에로드되므로 CSS가로드되기 전에 페이지 렌더링이 표시됩니다. 즉, 1 초 동안 페이지는 CSS없이 보입니다.

대신 :

<link href="css.css" rel="stylesheet" type="text/css"/>
<iframe src='blank.html'></iframe>

잘 작동하고 CSS가로드되고 iframe이 마지막으로로드됩니다.

참고 URL : https://stackoverflow.com/questions/5946607/is-an-empty-iframe-src-valid

반응형