Strophe.js is a JavaScript library for speaking XMPP via BOSH (XEP 124 and XEP 206) and WebSockets (RFC 7395).
Its primary purpose is to enable web-based, real-time XMPP applications that run in any browser.
The book Professional XMPP Programming with JavaScript and jQuery covers Strophe in detail in the context of web applications.
It has been tested on Firefox, Firefox for Android, IE, Safari, Mobile Safari, Chrome, Chrome for Android, Opera and the mobile Opera browser.
It is licensed under the MIT license, except for the files sha1.js, base64.js and md5.js, which are licensed as public domain and BSD (see these files for details).
Strophe.js was originally created by Jack Moffitt. It was originally developed for Chesspark, an online chess community based on XMPP technology. It has been cared for and improved over the years and is currently maintained by many people in the community.