iframe 노드 초기화 문제에 대한 토론_HTML/Xhtml_웹페이지 제작
오늘은 갑자기 리치 텍스트 편집기를 만드는 원리를 복습하고 싶었습니다. 그래서 아무 말도 하지 않고 차근차근 해나가기 시작했어요. 1년 전에 간단한 리치 텍스트 편집기를 작성했기 때문에 아직도 약간의 인상이 남아 있을 것입니다. 그런데 제가 작성한 코드를 실행해보니 문제가 발견되었습니다.
var ifr = document.createElement('iframe');
ifr.width = 300;
ifr.height = 300;
var idoc = ifr.contentDocument || ifr .contentWindow.document;
idoc.designMode = 'on';
idoc.contentEditable =
idoc.write('')
document.body.appendChild(ifr)
위의 코드를 살펴보세요. 오류를 발견하셨나요?
저와 비슷한 경험을 한 아이들이 없다면 아마 이 코드가 뭐가 문제인지 모를 것 같아요. 그래서 당신은 달리는 것이 좋을 수도 있습니다. 아마도 곧 문제를 발견하게 될 것입니다.
아래에 답을 공개하겠습니다.
이 코드는 개체를 찾을 수 없다는 예외를 발생시킵니다. 어떤 개체를 찾을 수 없습니까? 문서 개체를 찾을 수 없습니다. 무엇입니까? 문서 객체를 찾을 수 없다는 것이 어떻게 가능합니까? 물론 이 문서 개체는 iframe의 문서 개체입니다. 서식 있는 텍스트를 작성한 사람이라면 누구나 iframe을 편집 가능하게 만들기 전에 먼저 iframe의 문서 객체를 얻어야 한다는 것을 알고 있습니다. 그런데 왜 문서 객체를 얻을 수 없나요? 나는 여기서 너무 허세를 부리지 않을 것이다. 내 해결 과정에 대해 이야기하겠습니다.
우선 구글에 가보니 제가 문서를 받은 방식이 맞다는 걸 알게 됐어요. 그렇다면 Chrome인지 궁금합니다. Chrome은 이 두 개체를 지원하지 않나요? 그래서 Firefox로 전환했습니다. 결과는 여전히 동일합니다. 그렇다면 확실한 것은 자신의 코드에 문제가 있다는 것입니다.
나중에 인터넷에서 코드를 비교해보니 내 AppendChild의 위치가 좀 잘못된 걸 발견해서 문서 객체를 얻기 위해 미리 옮겨두었습니다:
var ifr = document.createElement('iframe')
ifr.width = 300;
ifr.height = 300;
document.body.appendChild(ifr);
var idoc = ifr.contentWindow.document; designMode = 'on';
idoc.contentEditable = true
idoc.write('')
이 줄에 따라 다른 노드의 초기화 상태를 확인한 결과 실제로 다른 요소 노드가 생성되면 DOM 트리에 추가되거나 DOM 트리에 추가되는지 여부에 관계없이 고유한 속성과 메서드를 갖게 된다는 사실을 발견했습니다. 아니다. 즉, iframe은 많은 요소 노드 중에서 이상치입니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











인라인 프레임은 HTML에서 iframe이라고 합니다. 레이블은 브라우저가 스크롤 막대와 테두리를 사용하여 다양한 문서를 표시할 수 있는 콘텐츠 내 직사각형 영역을 지정합니다. 현재 HTML 문서 내에 다른 문서를 포함하려면 인라인 프레임을 사용하십시오. 요소에 대한 참조는 HTMLiframe 이름 속성을 사용하여 지정할 수 있습니다. JavaScript에서는 name 속성을 사용하여 요소에 대한 참조도 이루어집니다. iframe은 기본적으로 현재 표시된 웹페이지 내에 웹페이지를 표시하는 데 사용됩니다. iframe을 포함하는 문서의 URL은 "src" 속성을 사용하여 지정됩니다. 구문 다음은 HTML <iframesrc="URL"title="d의 구문입니다.

iframe 로딩이 느린 이유에는 주로 네트워크 지연, 긴 리소스 로딩 시간, 로딩 순서, 캐싱 메커니즘 및 보안 정책이 포함됩니다. 자세한 소개: 1. 네트워크 지연. 브라우저가 iframe이 포함된 웹 페이지를 로드할 때 iframe의 콘텐츠를 얻기 위해 서버에 요청을 보내야 합니다. 네트워크 지연이 길면 콘텐츠를 얻는 데 시간이 걸립니다. 2. 리소스 로딩 시간이 길거나, 리소스 크기가 크거나, 서버 응답 시간이 길면 로딩 속도가 더욱 느려집니다. 등.

해결 방법: 1. 응용 프로그램을 다시 설치합니다. 3. 시스템 복원 또는 검사점 복구를 수행합니다. 5. 시작 항목 및 서비스를 사용합니다. 8. 보안 소프트웨어를 확인합니다. 9. 이벤트 뷰어를 확인합니다. 10. 전문가의 도움을 구합니다.

iframe의 data-id는 특정 요소의 식별자를 저장하기 위해 HTML 태그에 사용되는 맞춤 속성을 나타냅니다. data-id 속성을 사용하면 iframe 요소에 고유 식별자를 추가하여 JavaScript에서 조작하고 액세스할 수 있습니다. data-id 속성의 이름 지정은 특정 요구 사항에 따라 사용자 정의할 수 있지만 일반적으로 고유성과 가독성을 보장하기 위해 일부 명명 규칙을 따릅니다. data-id 속성은 특정 iframe을 식별하고 조작하는 데에도 사용할 수 있습니다.

win7 시스템은 매우 우수한 고성능 시스템입니다. win7을 계속 사용하는 동안 많은 친구들이 win7에서 컴퓨터를 초기화하는 방법을 묻습니다! 오늘 편집자는 win7 컴퓨터의 공장 설정을 복원하는 방법을 알려 드리겠습니다. win7에서 컴퓨터를 초기화하는 방법에 대한 관련 정보: 그림과 텍스트가 포함된 자세한 지침 단계: 1. "시작 메뉴"를 열고 들어갑니다. 2. 좌측 하단의 설정을 클릭하여 진입합니다. 3. Win10 업데이트 및 복구 설정 인터페이스에서 다음을 선택합니다. 4. 아래의 "모든 콘텐츠를 제거하고 Windows를 다시 설치하세요"를 클릭하세요. 5. 다음과 같은 "초기화" 설정을 확인한 후 클릭하세요. 6. "컴퓨터에 드라이브가 여러 개 있습니다" 설정 옵션을 입력합니다. 여기에는 두 가지 옵션이 있으며 상황에 따라 선택할 수 있습니다.

iframe의 로딩 이벤트에는 onload 이벤트, onreadystatechange 이벤트, onbeforeunload 이벤트, onerror 이벤트, onabort 이벤트 등이 포함됩니다. 자세한 설명: 1. onload 이벤트는 iframe을 로드한 후 실행될 JavaScript 코드를 지정합니다. 2. onreadystatechange 이벤트는 iframe 상태가 변경될 때 실행될 JavaScript 코드를 지정합니다.

많은 게이머들이 그래픽 시스템을 초기화하지 못하는 게임의 실망스러운 문제에 직면했습니다. 이 글에서는 이 문제의 일반적인 이유를 자세히 알아보고, 즉시 다시 보드로 돌아가서 레벨을 깨뜨릴 수 있는 간단하면서도 효과적인 솔루션을 찾을 것입니다. 따라서 Rollercoaster Tycoon, Assassin's Creed, Tony Hawk's Pro Skater 등에서 그래픽 시스템을 초기화할 수 없다는 오류 메시지가 나타나면 이 문서에 언급된 해결 방법을 따르십시오. 초기화 오류 그래픽 시스템을 초기화할 수 없습니다. 그래픽 카드는 지원되지 않습니다. 그래픽 시스템을 초기화할 수 없음 오류 메시지 수정 Rollercoaster Tycoon, Assassin's Creed, Tony Hawk's Pro Skater 등과 같은 게임에서 그래픽 시스템을 초기화할 수 없음 오류를 해결하려면 다음 해결 방법을 시도할 수 있습니다. 호환 모드

win7 시스템은 매우 우수한 고성능 시스템입니다. 최근 win7 시스템의 많은 친구들이 win7에서 네트워크 설정을 초기화하는 방법을 찾고 있습니다. 오늘은 win7 컴퓨터 네트워크 초기화에 대한 세부 사항을 알려드리겠습니다. 튜토리얼을 보세요. win7에서 네트워크 설정을 초기화하는 방법에 대한 자세한 튜토리얼: 그래픽 단계: 1. "시작" 메뉴를 클릭하고 "제어판"을 찾아서 연 다음 "네트워크 및 공유 센터"를 클릭합니다. 2. 그런 다음 "어댑터 장치 변경"을 찾아서 클릭하세요. 3. 다음으로 열리는 창에서 "로컬 영역 연결"을 마우스 오른쪽 버튼으로 클릭한 후 "속성"을 클릭합니다. 4. 연 후 "인터넷 프로토콜 버전(TCP/IPv4)"을 찾아 두 번 누릅니다.
