다음과 같은 경우가 있습니다.JavaScript : embed-tag의 src 속성 변경
사용자에게 서버의 일부 오디오 파일을 보여줍니다. 사용자가 폴더를 클릭하면 onFileSelected는 결국 선택한 폴더와 파일로 실행됩니다. 함수가하는 일은 내장 된 객체에서 소스를 변경하는 것입니다. 따라서 어떤 방식으로 파일을 수락하고 사용자의 선택을 저장하기 전에 선택한 파일을 미리 보는 것입니다. A visual aid.
HTML
<embed src="/resources/audio/_webbook_0001/embed_test.mp3" type="audio/mpeg" id="audio_file">
자바 스크립트
function onFileSelected(file, directory) {
jQuery('embed#audio_file').attr('src', '/resources/audio/'+directory+'/'+file);
};
자,이 파이어 폭스에서 잘 작동하지만 사파리와 크롬은 단순히 관계없이 운영 체제의 소스를 변경하기를 거부.
jQuery는 객체 (jQuery.size()가 1을 반환 함)를 발견하면 코드를 실행하지만 HTML 코드는 변경하지 않습니다.
Safari가 <embed>
소스를 변경하지 못하게하는 이유는 무엇입니까? 이것을 피할 수있는 방법은 무엇입니까?
가 나는 것을 시도를하지만, 어떻게 든 작동하지 않았다. 새로운 삽입 태그를 추가했지만 이전 태그는 제거하지 않았습니다. 이 변형을 iframe과 함께 사용하려고 생각하지만 매우 세련된 해결책은 아닙니다. – Mike
나는 비슷한 문제가 있었고 이것은 나를 위해 일했습니다. 감사! – petejamd
내 문제는 프로그래밍 방식으로 src를 변경하고 play()를 호출하면 여전히 원래의 src가 재생 된 것입니다. 이 조언에 따라 이제 embed 요소를 제거하고 다시 추가하면 사운드가 올바르게 재생됩니다. 고마워요 – Scottm