Javascript 延迟上下文菜单外观
我正在开发一个使用链接的用户脚本。当用户单击链接(右键或左键单击)时,它应该执行一些代码。代码正在向服务器发送ajax请求,根据响应,在某些情况下可能会更改链接href attrubute,因此用户不应在链接未完成时使用该链接。我延迟了自定义事件处理程序的左键单击,它工作正常,但我找不到延迟标准下拉菜单的方法,只能完全禁用它Javascript 延迟上下文菜单外观,javascript,userscripts,Javascript,Userscripts,我正在开发一个使用链接的用户脚本。当用户单击链接(右键或左键单击)时,它应该执行一些代码。代码正在向服务器发送ajax请求,根据响应,在某些情况下可能会更改链接href attrubute,因此用户不应在链接未完成时使用该链接。我延迟了自定义事件处理程序的左键单击,它工作正常,但我找不到延迟标准下拉菜单的方法,只能完全禁用它 我真的非常感谢您的帮助。这可能是为数不多的有效的应用程序用例之一 如果直接使用XMLHttpRequest,可以通过将false作为第三个参数传递给.open()方法来发出
我真的非常感谢您的帮助。这可能是为数不多的有效的应用程序用例之一 如果直接使用
XMLHttpRequest
,可以通过将false
作为第三个参数传递给.open()
方法来发出同步请求:
var request = new XMLHttpRequest();
request.open('GET', '/bar/foo.txt', false); // `false` makes the request synchronous
request.send(null);
if (request.status === 200) {
console.log(request.responseText);
}
(上面链接的MDN页面中的示例代码。)
如果您使用的是jQuery,那么可以通过将选项async:false
传递给来发出同步请求。有关更多详细信息,请参阅
但是,请注意,一般来说,同步AJAX请求几乎总是一个坏主意。只要您的服务器(以及您的Internet连接)能够非常快速、可靠地处理请求,它就可以正常工作,但如果您的服务器负载过重,或者您的连接开始丢弃数据包,任何鼠标点击都需要等待几秒钟才能产生效果,这可能会很快让人恼火。请提供您目前掌握的所有代码。谢谢!这帮了大忙:)