gpt4 book ai didi

javascript - 表单内联提交如何在Facebook请求页面上工作

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:36:40 25 4
gpt4 key购买 nike

我正在写一个书签,使我的生活更容易管理一堆Facebook的要求,我每天从我的垃圾邮件朋友。
我知道我可以屏蔽应用程序之类的,但那不是我想要的。我想管理它们(按“全部接受”或“全部忽略”按钮).
为了做到这一点,我必须理解facebook是如何在“接受”按钮和“x”或“忽略”按钮上对用户执行点击操作的。这是我用firebug得到的表单。

<form onsubmit="return Event.__inlineSubmit(this,event)"
style="grouped"
data-gt="<some json data>"
method="post"
action="/ajax/reqs.php"
rel="async">
...
<input type="submit"
id="<some id>"
data-gt="<some json data>"
name="actions[<some data>]"
value="Accept">
<input type="submit"
id="u942605_47"
name="actions[reject]"
value="">
...
</form>

我不明白的是那个事件。inlinesubmit()将返回null。我使用jsbeautifier.org来解压他们的js文件并加载解压后的版本,因此它覆盖了最小化的版本,这使我更容易使用firebug进行调试。
如果不是事件的执行,我不明白他们如何在不刷新页面的情况下提交表单。它什么也做不了。
我甚至尝试从表单中删除onsubmit属性,然后单击ignore按钮,它仍然会发出post请求。我不认为他们使用ajax,但我可能错了。
这就是事件。inlinesubmit()定义。变量A和document.documentElement.attachEvent为空。如果你不介意的话自己调试一下。
Event.__inlineSubmit = function (b, event) {
var a = Event.__getHandler && Event.__getHandler(b, 'submit');
return a ? null : Event.__bubbleSubmit(b, event);
};
Event.__bubbleSubmit = function (a, event) {
if (document.documentElement.attachEvent) {
var b;
while (b !== false && (a = a.parentNode)) {
b = a.onsubmit ? a.onsubmit(event) : Event.__fire && Event.__fire(a, 'submit', event);
}
return b;
}
};

这是event.gethandler()定义
__getHandler: function (g, h) {
return DataStore.get(g, Event.DATASTORE_KEY + h);
}

任何有兴趣揭开这个谜团并解释他们是如何做到的javascript专家吗?

最佳答案

它返回什么并不重要,主要的是,这个函数做什么。

关于javascript - 表单内联提交如何在Facebook请求页面上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6796471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com