2009-11-22 15 views
1

저는 greasemonkey 스크립트를 사용하여 ajax가있는 페이지를로드하고 페이지의 양식 필드를 자동으로 채우고 양식을 제출합니다. 문제는 form.submit() 문이 실행될 때 나는 캐치되지 않는 예외 오류 얻을 수 있습니다 : 내가 페이지를로드하는 아약스를 사용하지 않는 경우, 이상하게form.submit()은 greasemonkey에서 캐치되지 않는 예외를 발생시킵니다.

"uncaught exception: [Exception... "Component is not available" 
nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" 
     //location: "JS frame :: 
file:///home/user/.mozilla/firefox/kwrkmbls.default/extensions/%7Be4a8a97b-f2ed-450b-b12d-ee082ba24781%7D/components/greasemonkey.js 
:: anonymous :: line 375" data: no]" 

을하지만, 동일한 코드가 작동하는 대신 수동으로로드; 모든 필드가 채워지고 양식이 제출됩니다.

무엇이 잘못 되었습니까?

+0

당신이 봤어 생각이있어? –

답변

0

콘텐츠를 요청하고 실행하려고하면 안됩니다. 현재 페이지에 추가해야합니다. 같은 뭔가 :

document.body.appendChild(iframe); 
iframe.addEventListener("load", function(e) 
{ 
    e.target.contentDocument.forms.namedItem("namedForm").submit(); 
}, false); 

havent 한 그것을 테스트하지만 당신은 그리스 몽키 및 파이어 폭스를 다시 설치