2014-12-18 8 views
-2

더 나은 제목을 찾을 수 없으므로 자유롭게 편집 할 수 있습니다.이미지를 표시하지 않고 이미지를 표시합니다.

나는과 같이 이미지의 src 속성으로 스크립트를 사용하려면 :

<img src="img.js"/> 

: 그것은 자바 스크립트 나 PHP 나 어떤 언어 인 경우 난 상관 없어. "나는 통해 것을"3.JPG "이미지를 표시 할

  • index.html을
  • img.js
  • 3.JPG

: 여기

내 폴더 내용입니다 img.js "

나는 이것을 시도했다 :

var img = new Image(); 
img.src = "3.jpg"; 
document.append(img); 

하지만 작동하지 않습니다.

console.log 호출을 추가 할 때 콘솔에 아무 것도 표시하지 않기 때문에 js 스크립트가 호출되지 않음을 알 수 있습니다.

어떻게하면됩니까? 가능한가?

목적은 다음과 같습니다

  • 표시 할 어떤 이미지 선택 서버 측 스크립트가 있습니다.
  • 는 img.php에서 HTML
+0

* "목표는 표시 할 이미지를 선택하는 서버 측 스크립트를 사용하는 것입니다."* 그런 다음 이미지 데이터를 반환하는 서버 측 스크립트를 작성해야합니다. JS 코드는 이미지 데이터가 아닙니다. –

+0

''이 같은 JavaScript를 사용하면 서버가 아닌 클라이언트 측에서 javascript가 실행됩니다. –

+0

@ maček : 브라우저가 JS를 기대하지 않기 때문에 ''는 JS를 실행하지 않습니다. 그것은 단지 부패 된 이미지를 본다. –

답변

6

<img src=...는 지정된 URL에서 이미지 데이터를 기대하고있다. Javascript를 소스로 덤프 할 수 없습니다. 이미지가 아니기 때문입니다. 코드입니다. 브라우저는 JS 코드를 이미지 데이터처럼 처리하고 이미지의 종류 (jpg, gif, png 등 ...)를 파악하고 "wtf is this?" 깨진 이미지 아이콘 만 표시하면됩니다.

당신이 가리키는 URL이 무엇이든간에 이미지의 소스는 원시 이진 이미지 데이터를 출력해야합니다.

HTML :

<img src="img.php" /> 

img.php :

<?php 
header('Content-type: image/jpeg'); 
readfile('3.jpg'); 
+0

이것은 훌륭한 대답 인 것 같습니다! 감사합니다 – Apolo

1

<img src="<?php include "img.php" ?>"/>

에서 이미지의 경로를 쓰지 않는다 :

<? 
echo "3.jpg"; 
?> 
+0

여기에 무슨 일이 일어 났는지 설명해 주시겠습니까? OP가 설명을 감사한다고 확신합니다. –

+0

고맙습니다. 그는 PHP를 사용하여 HTML 코드에 올바른 이미지 소스를 작성하고 있습니다. 그러나 HTML로 이미지 경로를 쓰고 싶지 않습니다. 까다로운 부분입니다. =) – Apolo

+0

마크 B와 마찬가지로해야합니다. 하하 –

0
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<title>example</title> 
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.2.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
    $("#dummy").attr("src", '3.png').css("display", "block"); 
}); 
</script> 
</head> 
<body> 
<img id="dummy" style="display:none" src="" /> 
</body> 
</html> 

이이 예입니다 만, 이전 게시물 제안으로, 그것은 PHP가 같은 서버 측 스크립트를 갖는처럼 들리는 너는 끝이야?

+0

목표는 이미지 경로 ("[...] 3.jpg")를 HTML에 쓰는 것을 피하는 것입니다. – Apolo

+0

당신이 PHP 답변을 찾은 것을 보았습니다. 그러나 PHP를 사용하고 싶지 않거나 이미지가 얼마나 많은지 알고 있고 0.png, 1.png 등으로 이름이 지정되어 있다면 무작위로 선택하거나 보여줄 수 있습니다 (var i = 0; i <10; i ++)에 대한 { $ ("body"). append (''); } – dumle

관련 문제