我为 Facebook 制作了非常受欢迎的 UserJS,但从 FF 3.6.13 版本开始它不起作用(对于那个版本)。我只是不知道如何单击这些元素:
<input value="Accept" type="submit" name="something... asdf" />
? 用鼠标单击这些按钮会重定向到另一个页面。
我的脚本所做的是用 Xpath 搜索这些元素,然后用简单的方法单击它们acceptbutton.click();
它在 Opera、Chrome 和 FF <3.6.13 上运行良好,但在最新版本中没有任何反应。我还尝试了我在 stackoverflow 上找到的 fireEvent 和 eventFire 函数,它们经常帮助我,但这次他们不能。
可能使用 JQuery 的click()
函数会有所帮助,但我不能在我的 userjs 中使用 jquery。
我也尝试过acceptbutton.form.submit();
,但它会将我重定向到错误的页面。
编辑 :
好的,我正在添加代码片段
var acceptbuttons = xpath(document,'//label[@class="uiButton uiButtonConfirm"]/input');
for (var i = 0; i < acceptbuttons.snapshotLength; i++) {
//will search for particular accept button
var acceptbutton = acceptbuttons.snapshotItem(i);
var acceptbuttonName = acceptbutton.getAttribute("name");
if(acceptbuttonName.indexOf(urlPart)!=-1)
{
// it founds button but function below do nothing in FF
acceptbutton.click();return;
}
}
谢谢你的帮助!