내 "새내기"에 대해 용서해주십시오, 나는 거래했을 때의 코더가 아니며 단지 코디도 아닙니다.잡히지 않은 TypeError : null의 'src'속성을 설정할 수 없습니다. 이미지 갤러리
그렇다면 웹 기반 네트워크 모니터링 도구 (SolarWinds NPM)에서 이미지 갤러리를 만들어 우리 사이트의 장비 사진을 볼 수 있습니다. 기본적으로 iframe 인 "사용자 지정 HTML 리소스"에서이 작업을 수행합니다.
갤러리는 부모 페이지의 제목을 변수로 사용하여 웹 서버에서 이미지를 찾을 폴더를 결정해야합니다.
다음을 실행하려고하면 Chrome 콘솔에 "Uncaught TypeError : 자바 스크립트의 2 행에 null의 src '속성을 설정할 수 없습니다."라는 오류가 발생합니다.
HTML : 여기
<html>
<head>
<style>
div.img {
margin: 5px;
border: 1px solid #ccc;
float: left;
width: 180px;
}
div.img:hover {
border: 1px solid #777;
}
div.img img {
width: 100%;
height: auto;
}
div.desc {
padding: 15px;
text-align: center;
}
.responsive {
padding: 0 6px;
float: left;
width: 24.99999%;
}
@media only screen and (max-width: 700px){
.responsive {
width: 49.99999%;
margin: 6px 0;
}
}
@media only screen and (max-width: 500px){
.responsive {
width: 100%;
}
}
</style>
</head>
<body>
<div class="img">
<a target="_blank" href="">
<img id="Image1" src="image1.png" width="300" height="200">
</a>
</div>
<div class="img">
<a target="_blank" href="">
<img id="Image2" src="image2.png" width="300" height="200">
</a>
</div>
<div class="img">
<a target="_blank" href="">
<img id="Image3" src="image3.png" id="Image3" width="300" height="200">
</a>
</div>
<div class="img">
<a target="_blank" href="">
<img id="Image4" src="image4.png" width="300" height="200">
</a>
</div>
<script src="SiteDBpics\Gallery.js"></script>
</body>
</html>
그리고 자바 스크립트입니다 :
var title = window.parent.document.getElementsByTagName("title")[0].innerHTML;
document.getElementById("Image1").src = "SiteDBpics/" + title + "/image1.png";
document.getElementById("Image2").src = "SiteDBpics/" + title + "/image2.png";
document.getElementById("Image3").src = "SiteDBpics/" + title + "/image3.png";
document.getElementById("Image4").src = "SiteDBpics/" + title + "/image4.png";
어떤 도움을 주시면 감사하겠습니다!
EDIT1 : HTML이 "A. Wolff"의 제안을 반영하도록 변경되었습니다.
EDIT2 : 문제점을 발견했습니다! 일부 서식 오류가있어서 이미지 URL을 선언 할 때 HTML 부분에 일부 인용 부호가 깜박입니다. 또한 스크립트의 파일 경로 세부 정보도 변경해야했습니다.
DOM에 요소가 설정되기 전에 스크립트를 호출하기 때문에 그 이유는 '