我正在使用greasemonkey脚本加载带有ajax的页面,并自动填写页面内的表单字段并提交表单。问题是当执行form.submit()
语句时,我得到一个未捕获的异常错误:
"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]"
奇怪的是,如果我不使用ajax加载页面,而是手动加载它,相同的代码可以工作;填写所有字段并提交表格。
知道什么是错的;
答案 0 :(得分:0)
您不仅可以请求内容并尝试执行它。你需要将它附加到当前页面。 类似的东西:
document.body.appendChild(iframe);
iframe.addEventListener("load", function(e)
{
e.target.contentDocument.forms.namedItem("namedForm").submit();
}, false);
没有对它进行过测试,但你明白了这个想法