Comments (3)
It would be better to only trigger the failure callback for exceptions related to protocols. The successCb function may also throw an exception, so you wouldn't want to call failCb in that case.
} catch (e) {
// Catch errors for either unknown protocols or registered protocols where the associated application isn't installed
if (e.name == "NS_ERROR_UNKNOWN_PROTOCOL" || e.name == "NS_ERROR_FAILURE") {
failCb();
}
}
from custom-protocol-detection.
@edwardstumpf
Yes may be but NS_ERROR_FAILURE indicates protocol might be reigstered but app could not be launched for some reason ( may be exe was moved or does not exist at that path)
See another implementation here.
https://gist.github.com/aaronk6/d801d750f14ac31845e8
They put it in unknown callback for this reason
from custom-protocol-detection.
I agree that the failure callback should be triggered if the exception throw is NS_ERROR_FAILURE. As you said, this indicates that the application associated with the protocol isn't at the expected location. This could mean that there's an issue with the custom protocol (the wrong path for the application was used) or the application doesn't exist at that location (uninstalled, etc.)
I don't agree that all exception name checking should be removed. The success callback could also throw an exception; this exception would have nothing to do with protocol checking, so the library shouldn't catch that exception.
from custom-protocol-detection.
Related Issues (20)
- False positive protocol detection in Firefox after install-uninstall of custom protocol HOT 2
- Protocol detection in Edge in Windows 10 doesn't work HOT 4
- Automated tests
- Firefox 53 not working HOT 1
- Does not work with Safari HOT 3
- Is it possible to wait until browser custom protocol confirmation to be accepted? HOT 2
- Protocol detection does not fail on Firefox Quantum HOT 4
- Need to control timeouts for some browsers HOT 1
- Firefox Version 64.0 HOT 12
- Div in example
- the bug in Firefox HOT 1
- Open the client's API for success or failure callback?
- Uncaught SyntaxError: Lexical declaration cannot appear in a single-statement context HOT 1
- The failure callback is called even when protocol is defined HOT 1
- After the 85 version of Google browser,window can‘t monitor blur of alert HOT 5
- my Page in an iframe occur error DOMException: Blocked a frame with origin "null" from accessing a cross-origin frame HOT 1
- uri何如获取的 HOT 1
- 为什么不管传入什么uri都不会触发失败回调
- ERROR ReferenceError: onBlur is not defined while tried to open custom protocol on edge and chrome on laest versions using custom-protocol-check npm package
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from custom-protocol-detection.