2013-06-11 5 views
3

매뉴얼 "PHP and HTML"에 PHP.net 튜토리얼이 있으며 예제는 Generating JavaScript with PHP입니다.PHP로 자바 스크립트 생성

나는 이것을 가지고 어떻게하면 더 복잡한 것을 시도 할 수 있는지 배우기 위해 이것으로 간단한 데모 버전을 시험해보고있다. 지금은 PHP에서 문자열 변수 (JPG 파일의 주소)를 선언하고 JavaScript (PHP 스크립트에서 작성)를 통해 IMG 요소의 src를이 새 주소로 변경하려고합니다.

누군가 내가 약간의 경험이 있지만, PHP 파일의 스크립트를 사용하여 텍스트 파일에 게시 할 때만 JSON으로 뭔가를 제안했습니다. 나는 GET 요청이나 다른 것을 사용할 수있을 지 모르겠다. 솔직히 말해서 나는 단서가 없다. 나는 이것이 그렇게 복잡 할 것이라고 생각하지 않았다.

여기에 my page에 대한 링크가 있습니다.

필자는 실제로 PHP에서 자바 스크립트를 만드는 것과 반대되는 작업을 시도했지만 대신 자바 스크립트에 PHP를 포함하려고 시도 했었습니다. 누군가 내게 제안했던 것입니다. 작업. 그래서 이것이 그러한 이유입니다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>Demo</title> 

    <?php 



    $srcmsg = 'http://www.newyorker.com/online/blogs/photobooth/NASAEarth-01.jpg'; 
    ?> 
    <script type="text/javascript"> 
    //<![CDATA[ 
    // 

    var msr = "<?php echo $srcmsg; ?>"; 

    window.onload = document.getElementsByTagName('img').src= msr; 
    //]]> 
    </script> 
    </head> 
    <body><img src="#" alt="Picture of the world" height="42" width="42" /> 
    </body> 
    </html> 

해결책 :이 Orangepill 프레드에 의해 발견됐다 .... 그것은 큰 문제 중 하나는 방법은 내 서버 내가 있도록 HTML 파일에서 스크립트를 구문 분석 할 수 없습니다 것을 밝혀 대신 PHP 파일에 넣어야했습니다. XML 선언에 short_open 태그를 해석 할 때 문제가있었습니다. 그래서 여기에이 작업을 진행하는 것이 결국 방법입니다 : 이것은 .PHP 파일

<?php echo "<", 'xml version="1.0" encoding="UTF-8" standalone="no" ?'; ">\n"; ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>Demo</title> 
<script type="text/javascript"> 
//<![CDATA[ 
// 

window.onload = function(){ 
var msr = '<?php $srcmsg = "http://www.newyorker.com/online/blogs/photobooth/NASAEarth-01.jpg"; echo $srcmsg; ?>'; 

var x = document.getElementsByTagName('img')[0]; 

x.src = msr; 
} 
//]]> 
</script> 
</head> 
<body><img src="#" alt="Picture of the world" height="42" width="42" /> 
</body> 
</html> 

답변

4

getElementsByTagName을 .HTM되지 않습니다 명심 반환하는 NodeList를 (객체와 같은 배열) 그래서 당신은

을 할 필요가
window.onload = document.getElementsByTagName('img')[0].src= msr; 

첫 번째 이미지를 수행하십시오.

0
<?php 
$srcmsg = 'http://www.newyorker.com/online/blogs/photobooth/NASAEarth-01.jpg'; 
echo<<<_HTML 
<script type='text/javascript'> 
window.onload = document.getElementsByTagName('img').src= $srcmsg; 
</script> 
_HTML; 
?> 
+0

스크립트에 "유형"속성이 필요하지 않습니까? 예 : "text/javascript" – user1066524

+0

그렇게 필요하지 않습니다. 원한다면 할수있어. –

+0

@ user1066524 유형 속성을 사용하는 것이 좋습니다 ... – pinkpanther

관련 문제