1

나는 내 웹 사이트에 몇 개의 비디오를 보여 주며 비디오가있는 YoutubeID 이후에 코드를 생성합니다. 지금까지 문제없이 작동했지만 ID 6BD2qnBozvE를 사용하면 스크립트가 작동하지 않습니다. [이 오류 휴식] 숫자 리터 직후 시작식별자가 숫자 바로 뒤에 시작됩니다.

식별자 방화범

내 코드

function onYouTubePlayerReady(playerId) { 

    e3fqE01YYWs = document.getElementById('e3fqE01YYWs'); 
     setTimeout(function(){ 
     e3fqE01YYWs.setVolume(100); 
     e3fqE01YYWs.playVideo(); 
     }, 750); 

    6BD2qnBozvE = document.getElementById('6BD2qnBozvE'); 
     setTimeout(function(){ 
     6BD2qnBozvE.setVolume(53); 
     6BD2qnBozvE.playVideo(); 
     }, 750); 
     } 

오류 메시지

6BD2qnBozvE = document.getElementById를 ('6BD2qnBozvE');

왜 이런 일이 발생하며 어떻게 해결할 수 있습니까?

편집 : Jeremy Banks가 이유를 설명하지만 여전히 내 문제를 해결하는 방법을 알지 못합니다. 당신은 6BD2qnBozvE라는 변수에 할당하려는

function onYouTubePlayerReady(playerId) { 
<?php 
foreach($projectMusicUn as $music => $volume){ 
?> 
<?php echo $music; ?> = document.getElementById('<?php echo $music; ?>'); 
setTimeout(function(){ 
    <?php echo $music; ?>.setVolume(<?php echo $volume; ?>); 
<?php echo $music; ?>.playVideo(); 
    }, 750); 
<?php 
} //End of foreach($projectMusic as $music) 
?> 
} 

답변

3

:

이것은 내 자바 스크립트 코드를 생성하는 방법이다. 이것은 허용되지 않습니다. JavaScript의 변수 이름 (식별자)은 밑줄 또는 $ 문자로 시작해야합니다.

video_6BD2qnBozvE과 같이 이름을 변경하십시오. 그 동안 전역 변수를 만들지 않도록 정의 전에 var 키워드를 추가해야합니다.

var video_6BD2qnBozvE = document.getElementById('6BD2qnBozvE'); 

video_처럼 당신의 생성 소스 코드에 변수로 사용되는 때마다 접두사를 추가 설명

function onYouTubePlayerReady(playerId) { 
    <?php 
    foreach($projectMusicUn as $music => $volume){ 
     ?> 
     var video_<?php echo $music; ?> = document.getElementById('<?php echo $music; ?>'); 
     setTimeout(function(){ 
      video_<?php echo $music; ?>.setVolume(<?php echo $volume; ?>); 
      video_<?php echo $music; ?>.playVideo(); 
     }, 750); 
     <?php 
    } //End of foreach($projectMusic as $music) 
    ?> 
} 
+0

이유는 ... 아직 그것을 해결하는 방법을 알고하지 않습니다 Javascript를 생성하는 방법에 대한 코드로 내 질문을 업데이트했습니다. –

+0

업데이트 된 답변으로 제 문제가 해결되었습니다. –

관련 문제