2012-03-10 3 views
0

로드 된 플러그인은 여기를 다시로드가 나는 방향을 따라

var myplugin = "<object id=\"plugin0\" type=\"application/x-fbtestplugin\"> </object>"; 

    function onload(){ // You must call this after the page loaded. 
    document.getElementById('plugin0').innerHTML = myplugin; 
    } 

    function reload(){ 
    document.getElementById('plugin0').innerHTML = ""; 
    document.getElementById('plugin0').innerHTML = myplugin; 
    } 

다음 페이지를 새로 고침 후 chromium에서는 JS 콘솔에서 onload()를 실행합니다. 그것은 "undefined"를 반환하고 마지막 빌드 전에 getSomeInt를 다른 정수로 변경하고 이전의 getSomeInt를 반환하기 때문에 플러그인이 부실하다는 것을 알았습니다. 또한 크롬 환경 설정 페이지에서 동일한 결과를 사용 중지하거나 사용하도록 설정했습니다.

첫 번째 질문 : 위 코드 블록의 문제점/왜 "정의되지 않음"을 반환합니까?

두 번째 질문 : 브라우저를 다시 시작하는 것 외에도 플러그인을 수동으로 다시로드 할 수있는 다른 방법이 있습니까?

답변

2

1) ID 'plugin0'을 오용 한 경우. 이 페이지에는 아이디에

var myplugin = "<object id=\"plugin\" type=\"application/x-foobar\"> </object>"; 
... 
 document.getElementById('pluginhere').innerHTML = myplugin; 
... 
<div id="pluginhere"></div> 

에주의, 당신은 <div><object>을 데려 가고 싶다는 말한다.

Plus : reload() 함수를 호출하기 전에 navigator.plugins.refresh(false);으로 전화하여 사용 가능한 플러그인 목록을 다시로드해야합니다.

추가 :로드 된 플러그인을 다시로드하는 방법이 잘 작동하는 것으로 나타났습니다. 그럴 때까지. 때로는 (드물게) 오래된 플러그인 (Chrome에서 테스트)을 완고하게 사용합니다. 이를 반영하도록 문서를 업데이트했습니다.

2) 플러그인을 크래시하고 페이지를 새로 고침 할 수 있습니다. 개발하기에 좋지만 다른 것은 없습니다. 이것을 프로덕션에서 사용하면 곧바로 지옥에 보내질 것입니다.

+0

답장을 보내 주셔서 감사합니다. 이 문서는 실제로 명확하지 않습니다. pluginhere 란 무엇입니까? 그것 plugin0, npFBTestPlugin입니다. 정확하게 ID 플러그인을 오용하는 방법은 무엇입니까? 예를 들어 여기서 크게 도움이 될 것입니다. 나는 코드가 작동하도록 변경하는 방법에 대해 아직 명확하지 않다. 나 또한 내 플러그인 충돌하는 방법을 몰라. – nomadicME

+0

id plugin0은 오브젝트 태그의 ID입니다. 상위 태그의 id (플러그인이있는 div)를 원한다면, – taxilian