2012-08-12 2 views
0

javascript를 사용하여 SWF 객체를 포함하는 일부 HTML을 표시하려고합니다.자바 스크립트가 플래시 객체를 HTML에 삽입하지 못했습니다.

스크립트는 SWF 개체없이 정상적으로 작동합니다. 그러나 객체가 div에 삽입 된 html에 포함되면 스크립트는 더 이상 실행되지 않습니다.

누구든지 수정 또는 자리 오류를 제안 할 수 있으면 크게 감사하겠습니다.

여기는 jsfiddle입니다. (jsfiddle와 동일)

http://jsfiddle.net/UJpQ4/

코드 :

HTML :

<a href="javascript:void(0)" onclick="takeProfilePic('0');">Show Flash</a> 
<a href="javascript:void(0)" onclick="takeProfilePic('1');">Do not show flash</a> 
<tr><td colspan=2 align="center"><div id="takepic"></div> 

자바 스크립트 :

function takeProfilePic(type) { 
// alert(type); 
if (type==0) 
    { 
    var target = 'takepic'; 
    var photo = '<tr><td colspan=2 align="center">hello</td></tr>'; 
document.getElementById(target).innerHTML = photo; 
return false; 
    } 
    else if (type==1) { 
     var target = 'takepic'; 
    var photo = '<tr><td colspan=2 align="center"><a href="stepthree.php"><img src="images/collapse.gif" border=0></a></td></tr><tr><td colspan=2 align="center">NO FLASH OBJECT HERE</td></tr>'; 
    document.getElementById(target).innerHTML = photo; 
return false;  
    }  
} 
+0

미래에 모든 관련 코드를 게시물에 포함하고 ** 단지 jsFiddle에 대한 링크를 포함하지 마십시오. 귀하의 게시물은 다른 리소스로부터 독창적이어야합니다. jsFiddle이 미래에 무너지면 어떻게 될지 생각해보십시오. – bfavaretto

+1

소스 코드가 잘못되었습니다. [swfobject] (http://code.google.com/p/swfobject/)를 사용하여 자바 스크립트에서 쉽고 안정적인 swf 수신을 고려하십시오. – bfavaretto

+0

좋은 지적, bfavaretto. 지금 문제의 코드. 내 질문에 신경 쓰지 않는다면 소스 코드의 오류는 무엇입니까? – user1260310

답변

1

사용 EMBED 태그 대신 OBJECT 태그입니다.

function takeProfilePic(type) { 
// alert(type); 
if (type==0) 
    { 
    var target = 'takepic'; 
    var photo = '<tr><td colspan=2 align="center"><a href="stepthree.php"><img src="images/collapse.gif" border=0></a></td></tr><tr><td colspan=2 align="center"><div id="piccontent"><embed src="file.swf" type="application/x-shockwave-flash" width="520" height="400" /></div></td></tr>'; 
    document.getElementById(target).innerHTML = photo; 
    return false; 
    } 
    else if (type==1) { 
    var target = 'takepic'; 
    var photo = '<tr><td colspan=2 align="center"><a href="stepthree.php"><img src="images/collapse.gif" border=0></a></td></tr><tr><td colspan=2 align="center"><div id="piccontent">NO FLASH OBJECT HERE</div></td></tr>'; 
    document.getElementById(target).innerHTML = photo; 
    return false;  
    }  
} 
+0

이 작업을 수행하지 못했습니다. jsfiddle에서 작동하는지 확인할 수 있습니까? – user1260310

+0

다음은 업데이트 된 [jsfiddle] (http://jsfiddle.net/UJpQ4/11/)입니다. SWF URL이 jsfiddle 서버를 가리 키기 때문에 플러그인이 jsfiddle에서 실행되지 않습니다. 코드를 방해 할 수있는 사항을 변경하지 마십시오. 로컬에서 실행될 때'file.swf'를 HTML과 같은 폴더에 넣거나 SWF URL (기본 내용)을 변경하십시오. – Jay

+0

감사합니다. 그것은 작동합니다. 임베드가 사용하는 경우, 대부분의 튜토리얼에는 왜 객체와 임베드가 있습니까? 또한 classid, codebase 및 일반적으로 던져 넣는 다른 모든 것들을 포함하는 것이 좋습니다. 그게 도움이 되니? 많은 감사 – user1260310

관련 문제